diff options
author | Adrian Hunter <adrian.hunter@intel.com> | 2013-05-06 05:17:32 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2013-05-26 14:23:23 -0400 |
commit | f0710a557cb17746b09234f01073a2cdafe4f4a5 (patch) | |
tree | f56e5fdd5ba030c74e4a0a73959537cf8254c865 /include | |
parent | 113a87f868b2f2e086790a68e8b9e41d8f0c3295 (diff) |
mmc: sdhci: add ability to stay runtime-resumed if the card is powered up
If card power is dependent on SD bus power then the host controller
must not be runtime suspended while the card is powered up. Add
the ability to stay runtime-resumed in that case and enable it with a new
quirk SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mmc/sdhci.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h index b838ffc49e4a..ba35bdb87d99 100644 --- a/include/linux/mmc/sdhci.h +++ b/include/linux/mmc/sdhci.h | |||
@@ -95,6 +95,7 @@ struct sdhci_host { | |||
95 | /* The system physically doesn't support 1.8v, even if the host does */ | 95 | /* The system physically doesn't support 1.8v, even if the host does */ |
96 | #define SDHCI_QUIRK2_NO_1_8_V (1<<2) | 96 | #define SDHCI_QUIRK2_NO_1_8_V (1<<2) |
97 | #define SDHCI_QUIRK2_PRESET_VALUE_BROKEN (1<<3) | 97 | #define SDHCI_QUIRK2_PRESET_VALUE_BROKEN (1<<3) |
98 | #define SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON (1<<4) | ||
98 | 99 | ||
99 | int irq; /* Device IRQ */ | 100 | int irq; /* Device IRQ */ |
100 | void __iomem *ioaddr; /* Mapped address */ | 101 | void __iomem *ioaddr; /* Mapped address */ |
@@ -139,6 +140,7 @@ struct sdhci_host { | |||
139 | u8 pwr; /* Current voltage */ | 140 | u8 pwr; /* Current voltage */ |
140 | 141 | ||
141 | bool runtime_suspended; /* Host is runtime suspended */ | 142 | bool runtime_suspended; /* Host is runtime suspended */ |
143 | bool bus_on; /* Bus power prevents runtime suspend */ | ||
142 | 144 | ||
143 | struct mmc_request *mrq; /* Current request */ | 145 | struct mmc_request *mrq; /* Current request */ |
144 | struct mmc_command *cmd; /* Current command */ | 146 | struct mmc_command *cmd; /* Current command */ |