• Nicolas Pitre's avatar
    mmc: initialize mmc subsystem with subsys_initcall() · 26074962
    Nicolas Pitre authored
    The problem is that the sdio_bus must be registered before any SDIO
    drivers are registered against it otherwise the kernel sulks.  Because
    the sdio_bus registration happens through module_init (equivalent to
    device_initcall), then any SDIO
    drivers linked before the SDIO core code in the kernel will be initialized
    first.
    
    Upcoming SDIO function drivers are likely to be located outside the
    drivers/mmc directory as it is common practice to group drivers according
    to their function rather than the bus they use.  SDIO drivers are therefore
    likely to appear at random location in the kernel link.
    
    To make sure the sdio_bus is always initialized before any SDIO drivers,
    let's move the MMC init to the subsys_initcall level.
    Signed-off-by: default avatarNicolas Pitre <npitre@mvista.com>
    Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
    26074962
core.c 16.3 KB