• David Brownell's avatar
    gpio: i2c expanders use subsys_init · 2f8d1197
    David Brownell authored
    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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Cc: Jean Delvare <khali@linux-fr.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    2f8d1197
pca953x.c 6.73 KB