HomeFreeBSD

MFC r330437-r330438, r330440, r331045

Description

MFC r330437-r330438, r330440, r331045

r330437:
Do not stop the loop that configures gpio chipselect pins on the first
error, just ignore pins that don't configure and keep setting up the ones
that do. (But when bootverbose is on, whine about the errors.)

r330438:
Defer attaching the spibus until timers and interrupts are working. The
driver requires interrupts to do transfers, and the drivers for the SPI
devices on the bus quite reasonably expect to be able to do IO while probing
and attaching.

r330440:
Switch imx_gpio to attach at BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE.
Pretty much any other device might need to manipulate a gpio pin during its
probe or attach routines, so these devices must be available as early as
possible.

The gpio device is an interrupt controller, but I didn't choose the
INTERRUPT pass for that reason (it works fine as an interrupt controller as
long as it attaches any time before interrupts are enabled). That just
looked like the right place in the passes to ensure that it attaches before
any type of device that might need gpio pin manipulations.

r331045:
Add required interface header.

Reported by: andreast@

Details

Provenance
ianAuthored on
Parents
rS331518: MFC r322665
Branches
Unknown
Tags
Unknown