linux/drivers/mmc/core
Ohad Ben-Cohen ed919b0125 mmc: sdio: fix runtime PM anomalies by introducing MMC_CAP_POWER_OFF_CARD
Some board/card/host configurations are not capable of powering off the
card after boot.

To support such configurations, and to allow smoother transition to
runtime PM behavior, MMC_CAP_POWER_OFF_CARD is added, so hosts need to
explicitly indicate whether it's OK to power off their cards after boot.

SDIO core will enable runtime PM for a card only if that cap is set.
As a result, the card will be powered down after boot, and will only
be powered up again when a driver is loaded (and then it's up to the
driver to decide whether power will be kept or not).

This will prevent sdio_bus_probe() failures with setups that do not
support powering off the card.

Reported-and-tested-by: Daniel Drake <dsd@laptop.org>
Reported-and-tested-by: Arnd Hannemann <arnd@arndnet.de>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
2010-11-19 17:07:01 -05:00
..
bus.c mmc: add runtime PM handlers 2010-10-23 21:11:18 +08:00
bus.h mmc: rename dev_to_mmc_card() to mmc_dev_to_card() 2010-10-23 21:11:12 +08:00
core.c mmc: fix rmmod race for hosts using card-detection polling 2010-11-11 18:42:38 -05:00
core.h mmc: propagate power save/restore ops return value 2010-10-23 21:11:17 +08:00
debugfs.c mmc: add a file to debugfs for changing host clock at runtime 2010-10-23 21:11:20 +08:00
host.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08: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: Makefile: Fix EXTRA_CFLAGS assignment 2010-10-23 21:11:15 +08:00
mmc_ops.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mmc_ops.h mmc: add mmc card sleep and awake support 2009-09-23 07:39:33 -07:00
mmc.c mmc: Fix printing of card DDR type 2010-11-07 16:45:08 -05:00
sd_ops.c mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sd_ops.h mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sd.c mmc: propagate power save/restore ops return value 2010-10-23 21:11:17 +08:00
sd.h mmc: split mmc_sd_init_card() 2010-08-11 08:59:02 -07:00
sdio_bus.c mmc: sdio: fix runtime PM anomalies by introducing MMC_CAP_POWER_OFF_CARD 2010-11-19 17:07:01 -05:00
sdio_bus.h mmc: basic SDIO device model 2007-09-23 19:45:31 +02:00
sdio_cis.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sdio_cis.h sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
sdio_io.c sdio: add new function for RAW (Read after Write) operation 2010-05-27 09:12:40 -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: recognize io card without powercycle 2010-03-12 15:52:28 -08:00
sdio_ops.h sdio: recognize io card without powercycle 2010-03-12 15:52:28 -08:00
sdio.c mmc: sdio: fix runtime PM anomalies by introducing MMC_CAP_POWER_OFF_CARD 2010-11-19 17:07:01 -05:00