Loading drivers/mmc/host/Kconfig +5 −4 Original line number Diff line number Diff line Loading @@ -256,12 +256,13 @@ config MMC_IMX If unsure, say N. config MMC_MSM7X00A tristate "Qualcomm MSM 7X00A SDCC Controller Support" depends on MMC && ARCH_MSM && !ARCH_MSM7X30 config MMC_MSM tristate "Qualcomm SDCC Controller Support" depends on MMC && ARCH_MSM help This provides support for the SD/MMC cell found in the MSM 7X00A controllers from Qualcomm. MSM and QSD SOCs from Qualcomm. The controller also has support for SDIO devices. config MMC_MXC tristate "Freescale i.MX2/3 Multimedia Card Interface support" Loading drivers/mmc/host/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ obj-$(CONFIG_MMC_OMAP_HS) += omap_hsmmc.o obj-$(CONFIG_MMC_AT91) += at91_mci.o obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o obj-$(CONFIG_MMC_MSM7X00A) += msm_sdcc.o obj-$(CONFIG_MMC_MSM) += msm_sdcc.o obj-$(CONFIG_MMC_MVSDIO) += mvsdio.o obj-$(CONFIG_MMC_DAVINCI) += davinci_mmc.o obj-$(CONFIG_MMC_SPI) += mmc_spi.o Loading drivers/mmc/host/msm_sdcc.c +23 −12 Original line number Diff line number Diff line Loading @@ -160,18 +160,7 @@ msmsdcc_stop_data(struct msmsdcc_host *host) uint32_t msmsdcc_fifo_addr(struct msmsdcc_host *host) { switch (host->pdev_id) { case 1: return MSM_SDC1_PHYS + MMCIFIFO; case 2: return MSM_SDC2_PHYS + MMCIFIFO; case 3: return MSM_SDC3_PHYS + MMCIFIFO; case 4: return MSM_SDC4_PHYS + MMCIFIFO; } BUG(); return 0; return host->memres->start + MMCIFIFO; } static inline void Loading Loading @@ -1289,6 +1278,24 @@ msmsdcc_probe(struct platform_device *pdev) return ret; } #ifdef CONFIG_PM #ifdef CONFIG_MMC_MSM7X00A_RESUME_IN_WQ static void do_resume_work(struct work_struct *work) { struct msmsdcc_host *host = container_of(work, struct msmsdcc_host, resume_task); struct mmc_host *mmc = host->mmc; if (mmc) { mmc_resume_host(mmc); if (host->stat_irq) enable_irq(host->stat_irq); } } #endif static int msmsdcc_suspend(struct platform_device *dev, pm_message_t state) { Loading Loading @@ -1333,6 +1340,10 @@ msmsdcc_resume(struct platform_device *dev) } return 0; } #else #define msmsdcc_suspend 0 #define msmsdcc_resume 0 #endif static struct platform_driver msmsdcc_driver = { .probe = msmsdcc_probe, Loading Loading
drivers/mmc/host/Kconfig +5 −4 Original line number Diff line number Diff line Loading @@ -256,12 +256,13 @@ config MMC_IMX If unsure, say N. config MMC_MSM7X00A tristate "Qualcomm MSM 7X00A SDCC Controller Support" depends on MMC && ARCH_MSM && !ARCH_MSM7X30 config MMC_MSM tristate "Qualcomm SDCC Controller Support" depends on MMC && ARCH_MSM help This provides support for the SD/MMC cell found in the MSM 7X00A controllers from Qualcomm. MSM and QSD SOCs from Qualcomm. The controller also has support for SDIO devices. config MMC_MXC tristate "Freescale i.MX2/3 Multimedia Card Interface support" Loading
drivers/mmc/host/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ obj-$(CONFIG_MMC_OMAP_HS) += omap_hsmmc.o obj-$(CONFIG_MMC_AT91) += at91_mci.o obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o obj-$(CONFIG_MMC_MSM7X00A) += msm_sdcc.o obj-$(CONFIG_MMC_MSM) += msm_sdcc.o obj-$(CONFIG_MMC_MVSDIO) += mvsdio.o obj-$(CONFIG_MMC_DAVINCI) += davinci_mmc.o obj-$(CONFIG_MMC_SPI) += mmc_spi.o Loading
drivers/mmc/host/msm_sdcc.c +23 −12 Original line number Diff line number Diff line Loading @@ -160,18 +160,7 @@ msmsdcc_stop_data(struct msmsdcc_host *host) uint32_t msmsdcc_fifo_addr(struct msmsdcc_host *host) { switch (host->pdev_id) { case 1: return MSM_SDC1_PHYS + MMCIFIFO; case 2: return MSM_SDC2_PHYS + MMCIFIFO; case 3: return MSM_SDC3_PHYS + MMCIFIFO; case 4: return MSM_SDC4_PHYS + MMCIFIFO; } BUG(); return 0; return host->memres->start + MMCIFIFO; } static inline void Loading Loading @@ -1289,6 +1278,24 @@ msmsdcc_probe(struct platform_device *pdev) return ret; } #ifdef CONFIG_PM #ifdef CONFIG_MMC_MSM7X00A_RESUME_IN_WQ static void do_resume_work(struct work_struct *work) { struct msmsdcc_host *host = container_of(work, struct msmsdcc_host, resume_task); struct mmc_host *mmc = host->mmc; if (mmc) { mmc_resume_host(mmc); if (host->stat_irq) enable_irq(host->stat_irq); } } #endif static int msmsdcc_suspend(struct platform_device *dev, pm_message_t state) { Loading Loading @@ -1333,6 +1340,10 @@ msmsdcc_resume(struct platform_device *dev) } return 0; } #else #define msmsdcc_suspend 0 #define msmsdcc_resume 0 #endif static struct platform_driver msmsdcc_driver = { .probe = msmsdcc_probe, Loading