diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-12 15:20:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-12 15:20:15 -0400 |
commit | 171c062188c6bc6ca5d28b2a9b9acc272ac1244e (patch) | |
tree | 55cc32d79f952b2ee23479b38484230c5a656d1f | |
parent | 682b7c1c8ea8885aa681ddf530d6cf2ad4f2dc15 (diff) | |
parent | 5d01b7684b7ebade6d9ea9c94a31357aec731ecd (diff) |
Merge tag 'mmc-v3.16-2' of git://git.linaro.org/people/ulf.hansson/mmc
Pull MMC fixes from Ulf Hansson:
"Here are some mmc fixes for 3.16.
- fix some various compiler warnings
- make atmel-mci compile again
- fix regression for sdhci-msm"
* tag 'mmc-v3.16-2' of git://git.linaro.org/people/ulf.hansson/mmc:
mmc: simplify SDHCI Kconfig dependencies
mmc: omap: don't select TPS65010
mmc: mvsdio: avoid compiler warning
mmc: atmel-mci: incude asm/cacheclush.h
mmc: sdhci-msm: Fix fallout from sdhci refactoring
mmc: usdhi6rol0: fix compiler warnings
-rw-r--r-- | drivers/mmc/host/Kconfig | 10 | ||||
-rw-r--r-- | drivers/mmc/host/atmel-mci.c | 1 | ||||
-rw-r--r-- | drivers/mmc/host/mvsdio.c | 2 | ||||
-rw-r--r-- | drivers/mmc/host/sdhci-msm.c | 4 | ||||
-rw-r--r-- | drivers/mmc/host/usdhi6rol0.c | 10 |
5 files changed, 15 insertions, 12 deletions
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index 7fee22432e94..a5652548230a 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig | |||
@@ -216,8 +216,7 @@ config MMC_SDHCI_SIRF | |||
216 | config MMC_SDHCI_PXAV3 | 216 | config MMC_SDHCI_PXAV3 |
217 | tristate "Marvell MMP2 SD Host Controller support (PXAV3)" | 217 | tristate "Marvell MMP2 SD Host Controller support (PXAV3)" |
218 | depends on CLKDEV_LOOKUP | 218 | depends on CLKDEV_LOOKUP |
219 | select MMC_SDHCI | 219 | depends on MMC_SDHCI_PLTFM |
220 | select MMC_SDHCI_PLTFM | ||
221 | default CPU_MMP2 | 220 | default CPU_MMP2 |
222 | help | 221 | help |
223 | This selects the Marvell(R) PXAV3 SD Host Controller. | 222 | This selects the Marvell(R) PXAV3 SD Host Controller. |
@@ -229,8 +228,7 @@ config MMC_SDHCI_PXAV3 | |||
229 | config MMC_SDHCI_PXAV2 | 228 | config MMC_SDHCI_PXAV2 |
230 | tristate "Marvell PXA9XX SD Host Controller support (PXAV2)" | 229 | tristate "Marvell PXA9XX SD Host Controller support (PXAV2)" |
231 | depends on CLKDEV_LOOKUP | 230 | depends on CLKDEV_LOOKUP |
232 | select MMC_SDHCI | 231 | depends on MMC_SDHCI_PLTFM |
233 | select MMC_SDHCI_PLTFM | ||
234 | default CPU_PXA910 | 232 | default CPU_PXA910 |
235 | help | 233 | help |
236 | This selects the Marvell(R) PXAV2 SD Host Controller. | 234 | This selects the Marvell(R) PXAV2 SD Host Controller. |
@@ -264,7 +262,7 @@ config MMC_SDHCI_S3C_DMA | |||
264 | config MMC_SDHCI_BCM_KONA | 262 | config MMC_SDHCI_BCM_KONA |
265 | tristate "SDHCI support on Broadcom KONA platform" | 263 | tristate "SDHCI support on Broadcom KONA platform" |
266 | depends on ARCH_BCM_MOBILE | 264 | depends on ARCH_BCM_MOBILE |
267 | select MMC_SDHCI_PLTFM | 265 | depends on MMC_SDHCI_PLTFM |
268 | help | 266 | help |
269 | This selects the Broadcom Kona Secure Digital Host Controller | 267 | This selects the Broadcom Kona Secure Digital Host Controller |
270 | Interface(SDHCI) support. | 268 | Interface(SDHCI) support. |
@@ -295,7 +293,7 @@ config MMC_MOXART | |||
295 | config MMC_OMAP | 293 | config MMC_OMAP |
296 | tristate "TI OMAP Multimedia Card Interface support" | 294 | tristate "TI OMAP Multimedia Card Interface support" |
297 | depends on ARCH_OMAP | 295 | depends on ARCH_OMAP |
298 | select TPS65010 if MACH_OMAP_H2 | 296 | depends on TPS65010 || !MACH_OMAP_H2 |
299 | help | 297 | help |
300 | This selects the TI OMAP Multimedia card Interface. | 298 | This selects the TI OMAP Multimedia card Interface. |
301 | If you have an OMAP board with a Multimedia Card slot, | 299 | If you have an OMAP board with a Multimedia Card slot, |
diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c index aece7cafbb97..bb585d940901 100644 --- a/drivers/mmc/host/atmel-mci.c +++ b/drivers/mmc/host/atmel-mci.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/atmel-mci.h> | 37 | #include <linux/atmel-mci.h> |
38 | #include <linux/atmel_pdc.h> | 38 | #include <linux/atmel_pdc.h> |
39 | 39 | ||
40 | #include <asm/cacheflush.h> | ||
40 | #include <asm/io.h> | 41 | #include <asm/io.h> |
41 | #include <asm/unaligned.h> | 42 | #include <asm/unaligned.h> |
42 | 43 | ||
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c index 9377284f8544..6b4c5ad3b393 100644 --- a/drivers/mmc/host/mvsdio.c +++ b/drivers/mmc/host/mvsdio.c | |||
@@ -79,11 +79,11 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data) | |||
79 | unsigned long t = jiffies + HZ; | 79 | unsigned long t = jiffies + HZ; |
80 | unsigned int hw_state, count = 0; | 80 | unsigned int hw_state, count = 0; |
81 | do { | 81 | do { |
82 | hw_state = mvsd_read(MVSD_HW_STATE); | ||
82 | if (time_after(jiffies, t)) { | 83 | if (time_after(jiffies, t)) { |
83 | dev_warn(host->dev, "FIFO_EMPTY bit missing\n"); | 84 | dev_warn(host->dev, "FIFO_EMPTY bit missing\n"); |
84 | break; | 85 | break; |
85 | } | 86 | } |
86 | hw_state = mvsd_read(MVSD_HW_STATE); | ||
87 | count++; | 87 | count++; |
88 | } while (!(hw_state & (1 << 13))); | 88 | } while (!(hw_state & (1 << 13))); |
89 | dev_dbg(host->dev, "*** wait for FIFO_EMPTY bit " | 89 | dev_dbg(host->dev, "*** wait for FIFO_EMPTY bit " |
diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index acb0e9eb55f1..40573a58486a 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c | |||
@@ -468,6 +468,10 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_match); | |||
468 | 468 | ||
469 | static struct sdhci_ops sdhci_msm_ops = { | 469 | static struct sdhci_ops sdhci_msm_ops = { |
470 | .platform_execute_tuning = sdhci_msm_execute_tuning, | 470 | .platform_execute_tuning = sdhci_msm_execute_tuning, |
471 | .reset = sdhci_reset, | ||
472 | .set_clock = sdhci_set_clock, | ||
473 | .set_bus_width = sdhci_set_bus_width, | ||
474 | .set_uhs_signaling = sdhci_set_uhs_signaling, | ||
471 | }; | 475 | }; |
472 | 476 | ||
473 | static int sdhci_msm_probe(struct platform_device *pdev) | 477 | static int sdhci_msm_probe(struct platform_device *pdev) |
diff --git a/drivers/mmc/host/usdhi6rol0.c b/drivers/mmc/host/usdhi6rol0.c index eb2bbbef19c6..f0a39eb049af 100644 --- a/drivers/mmc/host/usdhi6rol0.c +++ b/drivers/mmc/host/usdhi6rol0.c | |||
@@ -357,7 +357,7 @@ static void *usdhi6_sg_map(struct usdhi6_host *host) | |||
357 | 357 | ||
358 | WARN(host->pg.page, "%p not properly unmapped!\n", host->pg.page); | 358 | WARN(host->pg.page, "%p not properly unmapped!\n", host->pg.page); |
359 | if (WARN(sg_dma_len(sg) % data->blksz, | 359 | if (WARN(sg_dma_len(sg) % data->blksz, |
360 | "SG size %zd isn't a multiple of block size %zd\n", | 360 | "SG size %u isn't a multiple of block size %u\n", |
361 | sg_dma_len(sg), data->blksz)) | 361 | sg_dma_len(sg), data->blksz)) |
362 | return NULL; | 362 | return NULL; |
363 | 363 | ||
@@ -459,7 +459,7 @@ static void usdhi6_sg_advance(struct usdhi6_host *host) | |||
459 | done = (host->page_idx << PAGE_SHIFT) + host->offset; | 459 | done = (host->page_idx << PAGE_SHIFT) + host->offset; |
460 | total = host->sg->offset + sg_dma_len(host->sg); | 460 | total = host->sg->offset + sg_dma_len(host->sg); |
461 | 461 | ||
462 | dev_dbg(mmc_dev(host->mmc), "%s(): %zu of %zu @ %u\n", __func__, | 462 | dev_dbg(mmc_dev(host->mmc), "%s(): %zu of %zu @ %zu\n", __func__, |
463 | done, total, host->offset); | 463 | done, total, host->offset); |
464 | 464 | ||
465 | if (done < total && host->offset) { | 465 | if (done < total && host->offset) { |
@@ -489,7 +489,7 @@ static void usdhi6_sg_advance(struct usdhi6_host *host) | |||
489 | host->sg = next; | 489 | host->sg = next; |
490 | 490 | ||
491 | if (WARN(next && sg_dma_len(next) % data->blksz, | 491 | if (WARN(next && sg_dma_len(next) % data->blksz, |
492 | "SG size %zd isn't a multiple of block size %zd\n", | 492 | "SG size %u isn't a multiple of block size %u\n", |
493 | sg_dma_len(next), data->blksz)) | 493 | sg_dma_len(next), data->blksz)) |
494 | data->error = -EINVAL; | 494 | data->error = -EINVAL; |
495 | 495 | ||
@@ -896,7 +896,7 @@ static void usdhi6_request_done(struct usdhi6_host *host) | |||
896 | struct mmc_data *data = mrq->data; | 896 | struct mmc_data *data = mrq->data; |
897 | 897 | ||
898 | if (WARN(host->pg.page || host->head_pg.page, | 898 | if (WARN(host->pg.page || host->head_pg.page, |
899 | "Page %p or %p not unmapped: wait %u, CMD%d(%c) @ +0x%x %ux%u in SG%u!\n", | 899 | "Page %p or %p not unmapped: wait %u, CMD%d(%c) @ +0x%zx %ux%u in SG%u!\n", |
900 | host->pg.page, host->head_pg.page, host->wait, mrq->cmd->opcode, | 900 | host->pg.page, host->head_pg.page, host->wait, mrq->cmd->opcode, |
901 | data ? (data->flags & MMC_DATA_READ ? 'R' : 'W') : '-', | 901 | data ? (data->flags & MMC_DATA_READ ? 'R' : 'W') : '-', |
902 | data ? host->offset : 0, data ? data->blocks : 0, | 902 | data ? host->offset : 0, data ? data->blocks : 0, |
@@ -1666,7 +1666,7 @@ static void usdhi6_timeout_work(struct work_struct *work) | |||
1666 | case USDHI6_WAIT_FOR_READ: | 1666 | case USDHI6_WAIT_FOR_READ: |
1667 | case USDHI6_WAIT_FOR_WRITE: | 1667 | case USDHI6_WAIT_FOR_WRITE: |
1668 | dev_dbg(mmc_dev(host->mmc), | 1668 | dev_dbg(mmc_dev(host->mmc), |
1669 | "%c: page #%u @ +0x%x %ux%u in SG%u. Current SG %u bytes @ %u\n", | 1669 | "%c: page #%u @ +0x%zx %ux%u in SG%u. Current SG %u bytes @ %u\n", |
1670 | data->flags & MMC_DATA_READ ? 'R' : 'W', host->page_idx, | 1670 | data->flags & MMC_DATA_READ ? 'R' : 'W', host->page_idx, |
1671 | host->offset, data->blocks, data->blksz, data->sg_len, | 1671 | host->offset, data->blocks, data->blksz, data->sg_len, |
1672 | sg_dma_len(host->sg), host->sg->offset); | 1672 | sg_dma_len(host->sg), host->sg->offset); |