Merge branch 'msm-mmc_sdcc' of git://codeaurora.org/quic/kernel/dwalker/linux-msm

* 'msm-mmc_sdcc' of git://codeaurora.org/quic/kernel/dwalker/linux-msm:
mmc: msm_sdcc: Rename config MMC_MSM7X00A to MMC_MSM
mmc: msm_sdcc: Compile the driver for msm7x30
mmc: msm: fix up build breakage on !PM

+29 -17
+5 -4
drivers/mmc/host/Kconfig
··· 256 257 If unsure, say N. 258 259 - config MMC_MSM7X00A 260 - tristate "Qualcomm MSM 7X00A SDCC Controller Support" 261 - depends on MMC && ARCH_MSM && !ARCH_MSM7X30 262 help 263 This provides support for the SD/MMC cell found in the 264 - MSM 7X00A controllers from Qualcomm. 265 266 config MMC_MXC 267 tristate "Freescale i.MX2/3 Multimedia Card Interface support"
··· 256 257 If unsure, say N. 258 259 + config MMC_MSM 260 + tristate "Qualcomm SDCC Controller Support" 261 + depends on MMC && ARCH_MSM 262 help 263 This provides support for the SD/MMC cell found in the 264 + MSM and QSD SOCs from Qualcomm. The controller also has 265 + support for SDIO devices. 266 267 config MMC_MXC 268 tristate "Freescale i.MX2/3 Multimedia Card Interface support"
+1 -1
drivers/mmc/host/Makefile
··· 21 obj-$(CONFIG_MMC_AT91) += at91_mci.o 22 obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o 23 obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o 24 - obj-$(CONFIG_MMC_MSM7X00A) += msm_sdcc.o 25 obj-$(CONFIG_MMC_MVSDIO) += mvsdio.o 26 obj-$(CONFIG_MMC_DAVINCI) += davinci_mmc.o 27 obj-$(CONFIG_MMC_SPI) += mmc_spi.o
··· 21 obj-$(CONFIG_MMC_AT91) += at91_mci.o 22 obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o 23 obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o 24 + obj-$(CONFIG_MMC_MSM) += msm_sdcc.o 25 obj-$(CONFIG_MMC_MVSDIO) += mvsdio.o 26 obj-$(CONFIG_MMC_DAVINCI) += davinci_mmc.o 27 obj-$(CONFIG_MMC_SPI) += mmc_spi.o
+23 -12
drivers/mmc/host/msm_sdcc.c
··· 160 161 uint32_t msmsdcc_fifo_addr(struct msmsdcc_host *host) 162 { 163 - switch (host->pdev_id) { 164 - case 1: 165 - return MSM_SDC1_PHYS + MMCIFIFO; 166 - case 2: 167 - return MSM_SDC2_PHYS + MMCIFIFO; 168 - case 3: 169 - return MSM_SDC3_PHYS + MMCIFIFO; 170 - case 4: 171 - return MSM_SDC4_PHYS + MMCIFIFO; 172 - } 173 - BUG(); 174 - return 0; 175 } 176 177 static inline void ··· 1278 return ret; 1279 } 1280 1281 static int 1282 msmsdcc_suspend(struct platform_device *dev, pm_message_t state) 1283 { ··· 1340 } 1341 return 0; 1342 } 1343 1344 static struct platform_driver msmsdcc_driver = { 1345 .probe = msmsdcc_probe,
··· 160 161 uint32_t msmsdcc_fifo_addr(struct msmsdcc_host *host) 162 { 163 + return host->memres->start + MMCIFIFO; 164 } 165 166 static inline void ··· 1289 return ret; 1290 } 1291 1292 + #ifdef CONFIG_PM 1293 + #ifdef CONFIG_MMC_MSM7X00A_RESUME_IN_WQ 1294 + static void 1295 + do_resume_work(struct work_struct *work) 1296 + { 1297 + struct msmsdcc_host *host = 1298 + container_of(work, struct msmsdcc_host, resume_task); 1299 + struct mmc_host *mmc = host->mmc; 1300 + 1301 + if (mmc) { 1302 + mmc_resume_host(mmc); 1303 + if (host->stat_irq) 1304 + enable_irq(host->stat_irq); 1305 + } 1306 + } 1307 + #endif 1308 + 1309 + 1310 static int 1311 msmsdcc_suspend(struct platform_device *dev, pm_message_t state) 1312 { ··· 1333 } 1334 return 0; 1335 } 1336 + #else 1337 + #define msmsdcc_suspend 0 1338 + #define msmsdcc_resume 0 1339 + #endif 1340 1341 static struct platform_driver msmsdcc_driver = { 1342 .probe = msmsdcc_probe,