• Janusz Krzysztofik's avatar
    ARM: OMAP1: ams-delta: register latch dependent devices later · f7519d8c
    Janusz Krzysztofik authored
    In preparation to converting Amstrad Delta on-board latches to
    basic_mmio_gpio devices, registration of platform devices which depend
    on latches and will require initialization of their GPIO pins first,
    should be moved out of .machine_init down to late_initcall level, as the
    gpio-generic driver is not available until device_initcall time.  The
    latch reset operation, which will be replaced with GPIO initialization,
    must also be moved to late_initcall for the same reason.
    
    Since there was already another, separate arch_initcall function for
    setting up one of those latch dependent devices, the on-board modem
    device, reuse that function, i.e., rename it to a name that matches the
    new purpose, extend with other device setup relocated from
    .machine_init, and move down to the late_initcall level.
    
    While being at it, add missing gpio_free() in case the modem platform
    device registration fails.
    
    Thanks to Tony Lindgren <tony@atomide.com> who suggested this approach
    instead of shifting up the gpio-generic driver initialization.
    
    In addition, defer registration of the Amstrad Delta ASoC and serio
    devices, done from their device driver files, until late_initcall time,
    as those drivers will depend on their GPIO pins already requested from
    the board late_init() function until updated to register their GPIO pins
    themselves.
    Signed-off-by: default avatarJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
    Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    f7519d8c
board-ams-delta.c 9.66 KB