Commit 171c0621 authored by Linus Torvalds's avatar Linus Torvalds

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
parents 682b7c1c 5d01b768
...@@ -216,8 +216,7 @@ config MMC_SDHCI_SIRF ...@@ -216,8 +216,7 @@ config MMC_SDHCI_SIRF
config MMC_SDHCI_PXAV3 config MMC_SDHCI_PXAV3
tristate "Marvell MMP2 SD Host Controller support (PXAV3)" tristate "Marvell MMP2 SD Host Controller support (PXAV3)"
depends on CLKDEV_LOOKUP depends on CLKDEV_LOOKUP
select MMC_SDHCI depends on MMC_SDHCI_PLTFM
select MMC_SDHCI_PLTFM
default CPU_MMP2 default CPU_MMP2
help help
This selects the Marvell(R) PXAV3 SD Host Controller. This selects the Marvell(R) PXAV3 SD Host Controller.
...@@ -229,8 +228,7 @@ config MMC_SDHCI_PXAV3 ...@@ -229,8 +228,7 @@ config MMC_SDHCI_PXAV3
config MMC_SDHCI_PXAV2 config MMC_SDHCI_PXAV2
tristate "Marvell PXA9XX SD Host Controller support (PXAV2)" tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"
depends on CLKDEV_LOOKUP depends on CLKDEV_LOOKUP
select MMC_SDHCI depends on MMC_SDHCI_PLTFM
select MMC_SDHCI_PLTFM
default CPU_PXA910 default CPU_PXA910
help help
This selects the Marvell(R) PXAV2 SD Host Controller. This selects the Marvell(R) PXAV2 SD Host Controller.
...@@ -264,7 +262,7 @@ config MMC_SDHCI_S3C_DMA ...@@ -264,7 +262,7 @@ config MMC_SDHCI_S3C_DMA
config MMC_SDHCI_BCM_KONA config MMC_SDHCI_BCM_KONA
tristate "SDHCI support on Broadcom KONA platform" tristate "SDHCI support on Broadcom KONA platform"
depends on ARCH_BCM_MOBILE depends on ARCH_BCM_MOBILE
select MMC_SDHCI_PLTFM depends on MMC_SDHCI_PLTFM
help help
This selects the Broadcom Kona Secure Digital Host Controller This selects the Broadcom Kona Secure Digital Host Controller
Interface(SDHCI) support. Interface(SDHCI) support.
...@@ -295,7 +293,7 @@ config MMC_MOXART ...@@ -295,7 +293,7 @@ config MMC_MOXART
config MMC_OMAP config MMC_OMAP
tristate "TI OMAP Multimedia Card Interface support" tristate "TI OMAP Multimedia Card Interface support"
depends on ARCH_OMAP depends on ARCH_OMAP
select TPS65010 if MACH_OMAP_H2 depends on TPS65010 || !MACH_OMAP_H2
help help
This selects the TI OMAP Multimedia card Interface. This selects the TI OMAP Multimedia card Interface.
If you have an OMAP board with a Multimedia Card slot, If you have an OMAP board with a Multimedia Card slot,
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include <linux/atmel-mci.h> #include <linux/atmel-mci.h>
#include <linux/atmel_pdc.h> #include <linux/atmel_pdc.h>
#include <asm/cacheflush.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/unaligned.h> #include <asm/unaligned.h>
......
...@@ -79,11 +79,11 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data) ...@@ -79,11 +79,11 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data)
unsigned long t = jiffies + HZ; unsigned long t = jiffies + HZ;
unsigned int hw_state, count = 0; unsigned int hw_state, count = 0;
do { do {
hw_state = mvsd_read(MVSD_HW_STATE);
if (time_after(jiffies, t)) { if (time_after(jiffies, t)) {
dev_warn(host->dev, "FIFO_EMPTY bit missing\n"); dev_warn(host->dev, "FIFO_EMPTY bit missing\n");
break; break;
} }
hw_state = mvsd_read(MVSD_HW_STATE);
count++; count++;
} while (!(hw_state & (1 << 13))); } while (!(hw_state & (1 << 13)));
dev_dbg(host->dev, "*** wait for FIFO_EMPTY bit " dev_dbg(host->dev, "*** wait for FIFO_EMPTY bit "
......
...@@ -468,6 +468,10 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_match); ...@@ -468,6 +468,10 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_match);
static struct sdhci_ops sdhci_msm_ops = { static struct sdhci_ops sdhci_msm_ops = {
.platform_execute_tuning = sdhci_msm_execute_tuning, .platform_execute_tuning = sdhci_msm_execute_tuning,
.reset = sdhci_reset,
.set_clock = sdhci_set_clock,
.set_bus_width = sdhci_set_bus_width,
.set_uhs_signaling = sdhci_set_uhs_signaling,
}; };
static int sdhci_msm_probe(struct platform_device *pdev) static int sdhci_msm_probe(struct platform_device *pdev)
......
...@@ -357,7 +357,7 @@ static void *usdhi6_sg_map(struct usdhi6_host *host) ...@@ -357,7 +357,7 @@ static void *usdhi6_sg_map(struct usdhi6_host *host)
WARN(host->pg.page, "%p not properly unmapped!\n", host->pg.page); WARN(host->pg.page, "%p not properly unmapped!\n", host->pg.page);
if (WARN(sg_dma_len(sg) % data->blksz, if (WARN(sg_dma_len(sg) % data->blksz,
"SG size %zd isn't a multiple of block size %zd\n", "SG size %u isn't a multiple of block size %u\n",
sg_dma_len(sg), data->blksz)) sg_dma_len(sg), data->blksz))
return NULL; return NULL;
...@@ -459,7 +459,7 @@ static void usdhi6_sg_advance(struct usdhi6_host *host) ...@@ -459,7 +459,7 @@ static void usdhi6_sg_advance(struct usdhi6_host *host)
done = (host->page_idx << PAGE_SHIFT) + host->offset; done = (host->page_idx << PAGE_SHIFT) + host->offset;
total = host->sg->offset + sg_dma_len(host->sg); total = host->sg->offset + sg_dma_len(host->sg);
dev_dbg(mmc_dev(host->mmc), "%s(): %zu of %zu @ %u\n", __func__, dev_dbg(mmc_dev(host->mmc), "%s(): %zu of %zu @ %zu\n", __func__,
done, total, host->offset); done, total, host->offset);
if (done < total && host->offset) { if (done < total && host->offset) {
...@@ -489,7 +489,7 @@ static void usdhi6_sg_advance(struct usdhi6_host *host) ...@@ -489,7 +489,7 @@ static void usdhi6_sg_advance(struct usdhi6_host *host)
host->sg = next; host->sg = next;
if (WARN(next && sg_dma_len(next) % data->blksz, if (WARN(next && sg_dma_len(next) % data->blksz,
"SG size %zd isn't a multiple of block size %zd\n", "SG size %u isn't a multiple of block size %u\n",
sg_dma_len(next), data->blksz)) sg_dma_len(next), data->blksz))
data->error = -EINVAL; data->error = -EINVAL;
...@@ -896,7 +896,7 @@ static void usdhi6_request_done(struct usdhi6_host *host) ...@@ -896,7 +896,7 @@ static void usdhi6_request_done(struct usdhi6_host *host)
struct mmc_data *data = mrq->data; struct mmc_data *data = mrq->data;
if (WARN(host->pg.page || host->head_pg.page, if (WARN(host->pg.page || host->head_pg.page,
"Page %p or %p not unmapped: wait %u, CMD%d(%c) @ +0x%x %ux%u in SG%u!\n", "Page %p or %p not unmapped: wait %u, CMD%d(%c) @ +0x%zx %ux%u in SG%u!\n",
host->pg.page, host->head_pg.page, host->wait, mrq->cmd->opcode, host->pg.page, host->head_pg.page, host->wait, mrq->cmd->opcode,
data ? (data->flags & MMC_DATA_READ ? 'R' : 'W') : '-', data ? (data->flags & MMC_DATA_READ ? 'R' : 'W') : '-',
data ? host->offset : 0, data ? data->blocks : 0, data ? host->offset : 0, data ? data->blocks : 0,
...@@ -1666,7 +1666,7 @@ static void usdhi6_timeout_work(struct work_struct *work) ...@@ -1666,7 +1666,7 @@ static void usdhi6_timeout_work(struct work_struct *work)
case USDHI6_WAIT_FOR_READ: case USDHI6_WAIT_FOR_READ:
case USDHI6_WAIT_FOR_WRITE: case USDHI6_WAIT_FOR_WRITE:
dev_dbg(mmc_dev(host->mmc), dev_dbg(mmc_dev(host->mmc),
"%c: page #%u @ +0x%x %ux%u in SG%u. Current SG %u bytes @ %u\n", "%c: page #%u @ +0x%zx %ux%u in SG%u. Current SG %u bytes @ %u\n",
data->flags & MMC_DATA_READ ? 'R' : 'W', host->page_idx, data->flags & MMC_DATA_READ ? 'R' : 'W', host->page_idx,
host->offset, data->blocks, data->blksz, data->sg_len, host->offset, data->blocks, data->blksz, data->sg_len,
sg_dma_len(host->sg), host->sg->offset); sg_dma_len(host->sg), host->sg->offset);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment