]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
Merge branch 'msm-mmc_sdcc' of git://codeaurora.org/quic/kernel/dwalker/linux-msm
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Aug 2010 01:06:37 +0000 (18:06 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Aug 2010 01:06:37 +0000 (18:06 -0700)
* '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

1  2 
drivers/mmc/host/Kconfig
drivers/mmc/host/Makefile
drivers/mmc/host/msm_sdcc.c

diff --combined drivers/mmc/host/Kconfig
index c997474c649f3cafd3477a1a86e86c1e000f2ab8,2167e2f69170bba4efe0b8a0afe6866284b313be..283190bc2a40c11b7cea3defafc31cc314a4d683
@@@ -121,15 -121,6 +121,15 @@@ config MMC_SDHCI_PLTF
  
          If unsure, say N.
  
 +config MMC_SDHCI_CNS3XXX
 +      bool "SDHCI support on the Cavium Networks CNS3xxx SoC"
 +      depends on ARCH_CNS3XXX
 +      depends on MMC_SDHCI_PLTFM
 +      help
 +        This selects the SDHCI support for CNS3xxx System-on-Chip devices.
 +
 +        If unsure, say N.
 +
  config MMC_SDHCI_S3C
        tristate "SDHCI support on Samsung S3C SoC"
        depends on MMC_SDHCI && (PLAT_S3C24XX || PLAT_S3C64XX)
@@@ -256,12 -247,13 +256,13 @@@ config MMC_IM
  
          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"
@@@ -441,12 -433,3 +442,12 @@@ config MMC_SH_MMCI
          This selects the MMC Host Interface controler (MMCIF).
  
          This driver supports MMCIF in sh7724/sh7757/sh7372.
 +
 +config MMC_JZ4740
 +      tristate "JZ4740 SD/Multimedia Card Interface support"
 +      depends on MACH_JZ4740
 +      help
 +        This selects support for the SD/MMC controller on Ingenic JZ4740
 +        SoCs.
 +        If you have a board based on such a SoC and with a SD/MMC slot,
 +        say Y or M here.
index fe0ba4e2b8b01b1255bc64b1dd6e1548b855ed8c,deb19186ff2ed4aa2cc5831682f88c6f4c9f1e75..840bcb52d82f0c8d92c7ecb8cbf2b9f08b91444b
@@@ -12,6 -12,7 +12,6 @@@ obj-$(CONFIG_MMC_IMX)         += imxmmc.
  obj-$(CONFIG_MMC_MXC)         += mxcmmc.o
  obj-$(CONFIG_MMC_SDHCI)               += sdhci.o
  obj-$(CONFIG_MMC_SDHCI_PCI)   += sdhci-pci.o
 -obj-$(CONFIG_MMC_SDHCI_PLTFM) += sdhci-pltfm.o
  obj-$(CONFIG_MMC_SDHCI_S3C)   += sdhci-s3c.o
  obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o
  obj-$(CONFIG_MMC_WBSD)                += wbsd.o
@@@ -21,7 -22,7 +21,7 @@@ obj-$(CONFIG_MMC_OMAP_HS)     += omap_hsmmc
  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
@@@ -35,11 -36,6 +35,11 @@@ obj-$(CONFIG_MMC_CB710)     += cb710-mmc.
  obj-$(CONFIG_MMC_VIA_SDMMC)   += via-sdmmc.o
  obj-$(CONFIG_SDH_BFIN)                += bfin_sdh.o
  obj-$(CONFIG_MMC_SH_MMCIF)    += sh_mmcif.o
 +obj-$(CONFIG_MMC_JZ4740)      += jz4740_mmc.o
 +
 +obj-$(CONFIG_MMC_SDHCI_PLTFM)                 += sdhci-platform.o
 +sdhci-platform-y                              := sdhci-pltfm.o
 +sdhci-platform-$(CONFIG_MMC_SDHCI_CNS3XXX)    += sdhci-cns3xxx.o
  
  obj-$(CONFIG_MMC_SDHCI_OF)    += sdhci-of.o
  sdhci-of-y                            := sdhci-of-core.o
index 6824917f5c601237c36771444bfd2d5090b7021b,60e424ebce5b16704292202ec19c3d55be59fc66..ff7752348b113cd154582187372e658784f66dc2
@@@ -160,18 -160,7 +160,7 @@@ msmsdcc_stop_data(struct msmsdcc_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
@@@ -1060,7 -1049,7 +1049,7 @@@ msmsdcc_init_dma(struct msmsdcc_host *h
  static int
  msmsdcc_probe(struct platform_device *pdev)
  {
 -      struct mmc_platform_data *plat = pdev->dev.platform_data;
 +      struct msm_mmc_platform_data *plat = pdev->dev.platform_data;
        struct msmsdcc_host *host;
        struct mmc_host *mmc;
        struct resource *cmd_irqres = NULL;
        host->dmares = dmares;
        spin_lock_init(&host->lock);
  
 -#ifdef CONFIG_MMC_EMBEDDED_SDIO
 -      if (plat->embedded_sdio)
 -              mmc_set_embedded_sdio_data(mmc,
 -                                         &plat->embedded_sdio->cis,
 -                                         &plat->embedded_sdio->cccr,
 -                                         plat->embedded_sdio->funcs,
 -                                         plat->embedded_sdio->num_funcs);
 -#endif
 -
        /*
         * Setup DMA
         */
        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)
  {
@@@ -1333,6 -1349,10 +1340,10 @@@ msmsdcc_resume(struct platform_device *
        }
        return 0;
  }
+ #else
+ #define msmsdcc_suspend       0
+ #define msmsdcc_resume 0
+ #endif
  
  static struct platform_driver msmsdcc_driver = {
        .probe          = msmsdcc_probe,