linux/drivers/mmc/core
Nicolas Pitre da68c4eb25 sdio: introduce API for special power management features
This patch series provides the core changes needed to allow SDIO cards to
remain powered and active while the host system is suspended, and let them
wake up the host system when needed.  This is used to implement
wake-on-lan with SDIO wireless cards at the moment.  Patches to add that
support to the libertas driver will be posted separately.

This patch:

Some SDIO cards have the ability to keep on running autonomously when the
host system is suspended, and wake it up when needed.  This however
requires that the host controller preserve power to the card, and
configure itself appropriately for wake-up.

There is however 4 layers of abstractions involved: the host controller
driver, the MMC core code, the SDIO card management code, and the actual
SDIO function driver.  To make things simple and manageable, host drivers
must advertise their PM capabilities with a feature bitmask, then function
drivers can query and set those features from their suspend method.  Then
each layer in the suspend call chain is expected to act upon those bits
accordingly.

[akpm@linux-foundation.org: fix typo in comment]
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-03-06 11:26:36 -08: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 sdio: introduce API for special power management features 2010-03-06 11:26:36 -08:00
core.h mmc: add module parameter to set whether cards are assumed removable 2009-12-15 08:53:35 -08:00
debugfs.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
host.c mmc: add 'enable' and 'disable' methods to mmc host 2009-09-23 07:39:33 -07:00
host.h mmc: add 'enable' and 'disable' methods to mmc host 2009-09-23 07:39:33 -07:00
Kconfig mmc: add module parameter to set whether cards are assumed removable 2009-12-15 08:53:35 -08:00
Makefile mmc: Export internal host state through debugfs 2008-07-27 01:26:16 +02:00
mmc_ops.c mmc: check status after MMC SWITCH command 2009-09-23 07:39:34 -07:00
mmc_ops.h mmc: add mmc card sleep and awake support 2009-09-23 07:39:33 -07:00
mmc.c mmc: allow for MMC v4.4 2010-01-11 09:34:06 -08:00
sd_ops.c cleanup asm/scatterlist.h includes 2007-11-02 08:47:06 +01:00
sd_ops.h
sd.c mmc: add module parameter to set whether cards are assumed removable 2009-12-15 08:53:35 -08:00
sdio_bus.c sdio: fix reference counting in sdio_remove_func() 2009-12-17 15:45:31 -08:00
sdio_bus.h mmc: basic SDIO device model 2007-09-23 19:45:31 +02:00
sdio_cis.c sdio: rework cis tuple parsing 2009-12-15 08:53:34 -08:00
sdio_cis.h sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
sdio_io.c sdio: introduce API for special power management features 2010-03-06 11:26:36 -08: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
sdio.c sdio: initialise SDIO functions and update card->sdio_funcs in lockstep 2009-12-17 15:45:31 -08:00