diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index 7fee22432e94e9d5d943b4ce913886f2f8783ffc..a5652548230a9457812a8badc69d7001a9df1f9c 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -216,8 +216,7 @@ config MMC_SDHCI_SIRF config MMC_SDHCI_PXAV3 tristate "Marvell MMP2 SD Host Controller support (PXAV3)" depends on CLKDEV_LOOKUP - select MMC_SDHCI - select MMC_SDHCI_PLTFM + depends on MMC_SDHCI_PLTFM default CPU_MMP2 help This selects the Marvell(R) PXAV3 SD Host Controller. @@ -229,8 +228,7 @@ config MMC_SDHCI_PXAV3 config MMC_SDHCI_PXAV2 tristate "Marvell PXA9XX SD Host Controller support (PXAV2)" depends on CLKDEV_LOOKUP - select MMC_SDHCI - select MMC_SDHCI_PLTFM + depends on MMC_SDHCI_PLTFM default CPU_PXA910 help This selects the Marvell(R) PXAV2 SD Host Controller. @@ -264,7 +262,7 @@ config MMC_SDHCI_S3C_DMA config MMC_SDHCI_BCM_KONA tristate "SDHCI support on Broadcom KONA platform" depends on ARCH_BCM_MOBILE - select MMC_SDHCI_PLTFM + depends on MMC_SDHCI_PLTFM help This selects the Broadcom Kona Secure Digital Host Controller Interface(SDHCI) support. @@ -295,7 +293,7 @@ config MMC_MOXART config MMC_OMAP tristate "TI OMAP Multimedia Card Interface support" depends on ARCH_OMAP - select TPS65010 if MACH_OMAP_H2 + depends on TPS65010 || !MACH_OMAP_H2 help This selects the TI OMAP Multimedia card Interface. 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 aece7cafbb9701c6dee629a622d156c74499dbc2..bb585d9409014e8bead8879acf5f7145e9e5790c 100644 --- a/drivers/mmc/host/atmel-mci.c +++ b/drivers/mmc/host/atmel-mci.c @@ -37,6 +37,7 @@ #include #include +#include #include #include diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c index 9377284f8544be955d01e3839250c848928380c6..6b4c5ad3b3939c6103871eb790d304d1a1ad4f4d 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) unsigned long t = jiffies + HZ; unsigned int hw_state, count = 0; do { + hw_state = mvsd_read(MVSD_HW_STATE); if (time_after(jiffies, t)) { dev_warn(host->dev, "FIFO_EMPTY bit missing\n"); break; } - hw_state = mvsd_read(MVSD_HW_STATE); count++; } while (!(hw_state & (1 << 13))); 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 acb0e9eb55f13cd90ee1c3454f5f36affdf8331b..40573a58486a165e659853b327b7c8e8f886863d 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); static struct sdhci_ops sdhci_msm_ops = { .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) diff --git a/drivers/mmc/host/usdhi6rol0.c b/drivers/mmc/host/usdhi6rol0.c index eb2bbbef19c63df01d95f0cfffd415cb77ef5b74..f0a39eb049af819cb5a15e35f4d9e6c62a66bd8e 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) WARN(host->pg.page, "%p not properly unmapped!\n", host->pg.page); 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)) return NULL; @@ -459,7 +459,7 @@ static void usdhi6_sg_advance(struct usdhi6_host *host) done = (host->page_idx << PAGE_SHIFT) + host->offset; 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); if (done < total && host->offset) { @@ -489,7 +489,7 @@ static void usdhi6_sg_advance(struct usdhi6_host *host) host->sg = next; 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)) data->error = -EINVAL; @@ -896,7 +896,7 @@ static void usdhi6_request_done(struct usdhi6_host *host) struct mmc_data *data = mrq->data; 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, data ? (data->flags & MMC_DATA_READ ? 'R' : 'W') : '-', data ? host->offset : 0, data ? data->blocks : 0, @@ -1666,7 +1666,7 @@ static void usdhi6_timeout_work(struct work_struct *work) case USDHI6_WAIT_FOR_READ: case USDHI6_WAIT_FOR_WRITE: 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, host->offset, data->blocks, data->blksz, data->sg_len, sg_dma_len(host->sg), host->sg->offset);