linux/drivers/mmc/core
Nicolas Pitre 26074962e8 mmc: initialize mmc subsystem with subsys_initcall()
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: Nicolas Pitre <npitre@mvista.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
2007-09-23 20:45:39 +02:00
..
bus.c sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
bus.h mmc: refactor bus operations 2007-07-09 21:27:56 +02:00
core.c mmc: initialize mmc subsystem with subsys_initcall() 2007-09-23 20:45:39 +02:00
core.h drivers/mmc/core/: make 3 functions static 2007-07-26 02:05:57 +02:00
host.c drivers/mmc/core/host.c: kmalloc + memset conversion to kzalloc 2007-08-23 06:26:31 +02:00
host.h mmc: refactor host class handling 2007-07-09 21:28:01 +02:00
Kconfig mmc: Use menuconfig objects 2007-05-08 22:41:55 +02:00
Makefile sdio: initial CIS parsing code 2007-09-23 20:26:42 +02:00
mmc.c mmc: add missing printk levels 2007-09-23 09:15:22 +02:00
mmc_ops.c mmc: mmc_set_data_timeout() parameter write is redundant 2007-09-23 09:15:00 +02:00
mmc_ops.h mmc: update header file paths 2007-07-26 01:53:31 +02:00
sd.c mmc: improve error code feedback 2007-09-23 09:14:43 +02:00
sd_ops.c mmc: mmc_set_data_timeout() parameter write is redundant 2007-09-23 09:15:00 +02:00
sd_ops.h drivers/mmc/core/: make 3 functions static 2007-07-26 02:05:57 +02:00
sdio.c sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
sdio_bus.c sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
sdio_bus.h mmc: basic SDIO device model 2007-09-23 19:45:31 +02:00
sdio_cis.c sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
sdio_cis.h sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
sdio_io.c mmc: enable/disable functions for SDIO 2007-09-23 20:10:56 +02:00
sdio_ops.c mmc: implement SDIO IO_RW_DIRECT operation 2007-09-23 19:42:37 +02:00
sdio_ops.h mmc: implement SDIO IO_RW_DIRECT operation 2007-09-23 19:42:37 +02:00
sysfs.c mmc: move layer init and workqueue to core file 2007-07-09 21:28:06 +02:00
sysfs.h mmc: move layer init and workqueue to core file 2007-07-09 21:28:06 +02:00