gpio: i2c expanders use subsys_init
authorDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 16 Oct 2008 05:03:13 +0000 (22:03 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Oct 2008 18:21:40 +0000 (11:21 -0700)
commit2f8d11971b9f54362437ce70f4d1911f0996d542
tree48fb0df29994e976325761bd9e07ce107a96b6d5
parent3d599d1ca57f443e5c4ff5af1e69d90350082f77
gpio: i2c expanders use subsys_init

Make the I2C external GPIO expander drivers register themselves at
subsys_initcall() time when they're statically linked.

SOC-integrated GPIOs are available starting very early -- early in
arch_initcall() at latest, but often even before initcalls start to run --
so this improves consistency, so more subsystems can rely on GPIOs in
their own subsys_initcall() code.

(This isn't a theoretical problem.  This is one of several patches needed
to resolve oopsing observed when statically linking kernels on a DaVinci
EVM.  Its pcf857x GPIOs needed to be available well before some other
drivers initialized.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/gpio/max732x.c
drivers/gpio/pca953x.c
drivers/gpio/pcf857x.c