linux/drivers
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
..
accessibility
acpi Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-03 08:15:37 -08:00
amba
ata
atm
auxdisplay
base
block
bluetooth
cdrom
char Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2010-03-04 07:49:37 -08:00
clocksource MFGPT: move clocksource menu 2010-03-06 11:26:28 -08:00
connector
cpufreq
cpuidle cpuidle menu: remove 8 bytes of padding on 64 bit builds 2010-03-06 11:26:28 -08:00
crypto
dca
dio
dma bitops: rename for_each_bit() to for_each_set_bit() 2010-03-06 11:26:23 -08:00
edac Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp 2010-03-03 09:25:37 -08:00
eisa eisa: fix coding style for eisa bus code 2010-03-06 11:26:32 -08:00
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2010-03-03 08:08:44 -08:00
firmware memory-hotplug: create /sys/firmware/memmap entry for new memory 2010-03-06 11:26:25 -08:00
gpio bitops: rename for_each_bit() to for_each_set_bit() 2010-03-06 11:26:23 -08:00
gpu lib: build list_sort() only if needed 2010-03-06 11:26:35 -08:00
hid USB: Push BKL on open down into the drivers 2010-03-02 14:54:23 -08:00
hwmon
i2c bitops: rename for_each_bit() to for_each_set_bit() 2010-03-06 11:26:23 -08:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 2010-03-04 08:24:06 -08:00
idle
ieee1394
ieee802154
infiniband infiniband: use for_each_set_bit() 2010-03-06 11:26:23 -08:00
input
isdn
leds
lguest
macintosh
mca
md Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2010-03-03 07:34:18 -08:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2010-03-03 08:48:58 -08:00
memstick
message
mfd bitops: rename for_each_bit() to for_each_set_bit() 2010-03-06 11:26:23 -08:00
misc lkdtm: add debugfs access and loosen KPROBE ties 2010-03-06 11:26:32 -08:00
mmc sdio: introduce API for special power management features 2010-03-06 11:26:36 -08:00
mtd
net bitops: rename for_each_bit() to for_each_set_bit() 2010-03-06 11:26:23 -08:00
nubus
of
oprofile
parisc
parport
pci ricoh_mmc: port from driver to pci quirk 2010-03-06 11:26:36 -08:00
pcmcia pcmcia: disable pcmcia ioctl for !ARM, prepare for removal 2010-03-03 08:37:41 +01:00
platform Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86 2010-03-03 07:41:24 -08:00
pnp
power
pps
ps3
rapidio
regulator Regulators: wm8400 - cleanup platform driver data handling 2010-03-03 14:49:30 +00:00
rtc
s390
sbus
scsi
serial
sfi
sh
sn
spi
ssb
staging Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2010-03-05 13:20:53 -08:00
tc
telephony
thermal
uio
usb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-03-04 08:15:33 -08:00
uwb
vhost
video Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2010-03-04 07:49:37 -08:00
virtio
vlynq
w1
watchdog
xen
zorro
Kconfig MFGPT: move clocksource menu 2010-03-06 11:26:28 -08:00
Makefile