linux/drivers/mmc/core
Jorg Schummer 94d89efb2c mmc: mmc_rescan detects card change in one run
With this patch, mmc_rescan can detect the removal of an mmc card and
the insertion of (possibly another) card in the same run. This means
that a card change can be detected without having to call
mmc_detect_change multiple times.

This change generalises the core such that it can be easily used by
hosts which provide a mechanism to detect only the presence of a card
reader cover, which has to be taken off in order to insert a card. Other
hosts ("card detect" or "MMC_CAP_NEEDS_POLL") each receive an event when
a card is removed and when a card is inserted, so it is sufficient for
them if mmc_rescan handles only one event at a time. "Cover detect"
hosts, however, only receive events about the cover status. This means
that between 2 subsequent events, both a card removal and a card
insertion can occur. In this case, the pre-patch version of mmc_rescan
would only detect the removal of the previous card but not the insertion
of the new card.

Signed-off-by: Jorg Schummer <ext-jorg.2.schummer@nokia.com>
Signed-off-by: Pierre Ossman <pierre@ossman.eu>
2009-06-13 22:42:56 +02:00
..
Kconfig
Makefile mmc: Export internal host state through debugfs 2008-07-27 01:26:16 +02:00
bus.c mmc: add MODALIAS linkage for MMC/SD devices 2009-03-24 21:29:58 +01:00
bus.h
core.c mmc: mmc_rescan detects card change in one run 2009-06-13 22:42:56 +02:00
core.h mmc: Add per-card debugfs support 2008-07-27 01:26:17 +02:00
debugfs.c mmc: Add Extended CSD register to debugfs 2009-03-24 21:29:59 +01:00
host.c mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-08 21:37:46 +01:00
host.h
mmc.c mmc: Accept EXT_CSD rev 1.3 since it is backwards compatible with 1.2 2009-04-08 20:04:34 +02:00
mmc_ops.c mmc: fix data timeout for SEND_EXT_CSD 2009-03-08 14:46:04 +01:00
mmc_ops.h
sd.c mmc_spi: do not check CID and CSD blocks with CRC16 2009-04-08 20:37:53 +02:00
sd_ops.c
sd_ops.h
sdio.c sdio: high-speed support 2008-10-12 11:04:34 +02:00
sdio_bus.c mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-08 21:37:46 +01:00
sdio_bus.h
sdio_cis.c sdio: handle null tuples 2009-03-24 21:30:00 +01:00
sdio_cis.h
sdio_io.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2008-07-16 15:17:52 -07:00
sdio_irq.c sdio: give sdio irq thread a host specific name 2008-10-12 11:04:30 +02:00
sdio_ops.c sdio: check that addresses are within the address space 2009-03-24 21:30:00 +01:00
sdio_ops.h