alistair23-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
..
bus.c mmc: add MODALIAS linkage for MMC/SD devices 2009-03-24 21:29:58 +01:00
bus.h mmc: use sysfs groups to handle conditional attributes 2008-03-22 17:02:20 -07:00
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: 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 mmc: Export internal host state through debugfs 2008-07-27 01:26:16 +02:00
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 MMC core learns about SPI 2007-09-23 21:51:30 +02:00
sd.c mmc_spi: do not check CID and CSD blocks with CRC16 2009-04-08 20:37:53 +02:00
sd_ops.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
sd_ops.h drivers/mmc/core/: make 3 functions static 2007-07-26 02:05:57 +02:00
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 mmc: basic SDIO device model 2007-09-23 19:45:31 +02:00
sdio_cis.c sdio: handle null tuples 2009-03-24 21:30:00 +01:00
sdio_cis.h sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
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 sdio: extend sdio_readsb() and friends to handle any length of buffer 2007-09-23 21:21:32 +02:00