aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-01-11 22:39:09 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-01-11 22:39:09 -0500
commitfb591fbd0aee437faada42b0473835bcbaf0eb38 (patch)
treefe5846bac472e42162caf24a43ab4eacf38f3bae /include/linux
parent8c930204ce76eddeb2e1af66a75f0ab2506c76e2 (diff)
parent01a999e48995a35faaa513f811c335bce72917d6 (diff)
Merge tag 'mmc-v4.5' of git://git.linaro.org/people/ulf.hansson/mmc
Pull MMC updates from Ulf Hansson: "MMC core: - Optimize boot time by detecting cards simultaneously - Make runtime resume default behavior for MMC/SD - Enable MMC/SD/SDIO devices to suspend/resume asynchronously - Allow more than 8 partitions per card - Introduce MMC_CAP2_NO_SDIO to prevent unsupported SDIO commands - Support the standard DT wakeup-source property - Fix driver strength switching for HS200 and HS400 - Fix switch command timeout - Fix invalid vdd in voltage switch power cycle for SDIO MMC host: - sdhci: Restore behavior when setting VDD via external regulator - sdhci: A couple of changes/fixes related to the dma support - sdhci-tegra: Add Tegra210 support - sdhci-tegra: Support for UHS-I cards including tuning support - sdhci-of-at91: Add PM support - sh_mmcif: Rework dma channel handling - mvsdio: Delete platform data code path" * tag 'mmc-v4.5' of git://git.linaro.org/people/ulf.hansson/mmc: (52 commits) mmc: dw_mmc: remove the unused quirks mmc: sdhci-pci: use to_pci_dev() mmc: cb710: use to_platform_device() mmc: tegra: use correct accessor for misc ctrl register mmc: tegra: enable UHS-I modes mmc: tegra: implement UHS tuning mmc: tegra: disable SPI_MODE_CLKEN mmc: tegra: implement module external clock change mmc: sdhci: restore behavior when setting VDD via external regulator mmc: It is not an error for the card to be removed while suspended mmc: block: Allow more than 8 partitions per card mmc: core: Optimize boot time by detecting cards simultaneously mmc: dw_mmc: use resource_size_t to store physical address mmc: core: fix __mmc_switch timeout caused by preempt mmc: usdhi6rol0: handle NULL data in timeout mmc: of_mmc_spi: Add IRQF_ONESHOT to interrupt flags mmc: mediatek: change some dev_err to dev_dbg mmc: enable MMC/SD/SDIO device to suspend/resume asynchronously mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off() mmc: sdhci: 64-bit DMA actually has 4-byte alignment ...
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mmc/dw_mmc.h12
-rw-r--r--include/linux/mmc/host.h6
-rw-r--r--include/linux/platform_data/mmc-mvsdio.h18
3 files changed, 6 insertions, 30 deletions
diff --git a/include/linux/mmc/dw_mmc.h b/include/linux/mmc/dw_mmc.h
index f67b2ec18e6d..89df7abedd67 100644
--- a/include/linux/mmc/dw_mmc.h
+++ b/include/linux/mmc/dw_mmc.h
@@ -172,7 +172,7 @@ struct dw_mci {
172 /* For edmac */ 172 /* For edmac */
173 struct dw_mci_dma_slave *dms; 173 struct dw_mci_dma_slave *dms;
174 /* Registers's physical base address */ 174 /* Registers's physical base address */
175 void *phy_regs; 175 resource_size_t phy_regs;
176 176
177 u32 cmd_status; 177 u32 cmd_status;
178 u32 data_status; 178 u32 data_status;
@@ -235,16 +235,10 @@ struct dw_mci_dma_ops {
235}; 235};
236 236
237/* IP Quirks/flags. */ 237/* IP Quirks/flags. */
238/* DTO fix for command transmission with IDMAC configured */
239#define DW_MCI_QUIRK_IDMAC_DTO BIT(0)
240/* delay needed between retries on some 2.11a implementations */
241#define DW_MCI_QUIRK_RETRY_DELAY BIT(1)
242/* High Speed Capable - Supports HS cards (up to 50MHz) */
243#define DW_MCI_QUIRK_HIGHSPEED BIT(2)
244/* Unreliable card detection */ 238/* Unreliable card detection */
245#define DW_MCI_QUIRK_BROKEN_CARD_DETECTION BIT(3) 239#define DW_MCI_QUIRK_BROKEN_CARD_DETECTION BIT(0)
246/* Timer for broken data transfer over scheme */ 240/* Timer for broken data transfer over scheme */
247#define DW_MCI_QUIRK_BROKEN_DTO BIT(4) 241#define DW_MCI_QUIRK_BROKEN_DTO BIT(1)
248 242
249struct dma_pdata; 243struct dma_pdata;
250 244
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 8673ffe3d86e..8dd4d290ab0d 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -212,7 +212,9 @@ struct mmc_host {
212 u32 ocr_avail_sdio; /* SDIO-specific OCR */ 212 u32 ocr_avail_sdio; /* SDIO-specific OCR */
213 u32 ocr_avail_sd; /* SD-specific OCR */ 213 u32 ocr_avail_sd; /* SD-specific OCR */
214 u32 ocr_avail_mmc; /* MMC-specific OCR */ 214 u32 ocr_avail_mmc; /* MMC-specific OCR */
215#ifdef CONFIG_PM_SLEEP
215 struct notifier_block pm_notify; 216 struct notifier_block pm_notify;
217#endif
216 u32 max_current_330; 218 u32 max_current_330;
217 u32 max_current_300; 219 u32 max_current_300;
218 u32 max_current_180; 220 u32 max_current_180;
@@ -259,7 +261,6 @@ struct mmc_host {
259#define MMC_CAP_UHS_SDR50 (1 << 17) /* Host supports UHS SDR50 mode */ 261#define MMC_CAP_UHS_SDR50 (1 << 17) /* Host supports UHS SDR50 mode */
260#define MMC_CAP_UHS_SDR104 (1 << 18) /* Host supports UHS SDR104 mode */ 262#define MMC_CAP_UHS_SDR104 (1 << 18) /* Host supports UHS SDR104 mode */
261#define MMC_CAP_UHS_DDR50 (1 << 19) /* Host supports UHS DDR50 mode */ 263#define MMC_CAP_UHS_DDR50 (1 << 19) /* Host supports UHS DDR50 mode */
262#define MMC_CAP_RUNTIME_RESUME (1 << 20) /* Resume at runtime_resume. */
263#define MMC_CAP_DRIVER_TYPE_A (1 << 23) /* Host supports Driver Type A */ 264#define MMC_CAP_DRIVER_TYPE_A (1 << 23) /* Host supports Driver Type A */
264#define MMC_CAP_DRIVER_TYPE_C (1 << 24) /* Host supports Driver Type C */ 265#define MMC_CAP_DRIVER_TYPE_C (1 << 24) /* Host supports Driver Type C */
265#define MMC_CAP_DRIVER_TYPE_D (1 << 25) /* Host supports Driver Type D */ 266#define MMC_CAP_DRIVER_TYPE_D (1 << 25) /* Host supports Driver Type D */
@@ -289,6 +290,7 @@ struct mmc_host {
289#define MMC_CAP2_HSX00_1_2V (MMC_CAP2_HS200_1_2V_SDR | MMC_CAP2_HS400_1_2V) 290#define MMC_CAP2_HSX00_1_2V (MMC_CAP2_HS200_1_2V_SDR | MMC_CAP2_HS400_1_2V)
290#define MMC_CAP2_SDIO_IRQ_NOTHREAD (1 << 17) 291#define MMC_CAP2_SDIO_IRQ_NOTHREAD (1 << 17)
291#define MMC_CAP2_NO_WRITE_PROTECT (1 << 18) /* No physical write protect pin, assume that card is always read-write */ 292#define MMC_CAP2_NO_WRITE_PROTECT (1 << 18) /* No physical write protect pin, assume that card is always read-write */
293#define MMC_CAP2_NO_SDIO (1 << 19) /* Do not send SDIO commands during initialization */
292 294
293 mmc_pm_flag_t pm_caps; /* supported pm features */ 295 mmc_pm_flag_t pm_caps; /* supported pm features */
294 296
@@ -434,8 +436,6 @@ static inline int mmc_regulator_set_vqmmc(struct mmc_host *mmc,
434 436
435int mmc_regulator_get_supply(struct mmc_host *mmc); 437int mmc_regulator_get_supply(struct mmc_host *mmc);
436 438
437int mmc_pm_notify(struct notifier_block *notify_block, unsigned long, void *);
438
439static inline int mmc_card_is_removable(struct mmc_host *host) 439static inline int mmc_card_is_removable(struct mmc_host *host)
440{ 440{
441 return !(host->caps & MMC_CAP_NONREMOVABLE); 441 return !(host->caps & MMC_CAP_NONREMOVABLE);
diff --git a/include/linux/platform_data/mmc-mvsdio.h b/include/linux/platform_data/mmc-mvsdio.h
deleted file mode 100644
index d02704cd3695..000000000000
--- a/include/linux/platform_data/mmc-mvsdio.h
+++ /dev/null
@@ -1,18 +0,0 @@
1/*
2 * This file is licensed under the terms of the GNU General Public
3 * License version 2. This program is licensed "as is" without any
4 * warranty of any kind, whether express or implied.
5 */
6
7#ifndef __MMC_MVSDIO_H
8#define __MMC_MVSDIO_H
9
10#include <linux/mbus.h>
11
12struct mvsdio_platform_data {
13 unsigned int clock;
14 int gpio_card_detect;
15 int gpio_write_protect;
16};
17
18#endif