]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
Device file update to support MMC/SD on OMAP2430/3430
authorMadhusudhan Chikkature Rajashekar <madhu.cr@ti.com>
Thu, 20 Dec 2007 10:04:43 +0000 (15:34 +0530)
committerTony Lindgren <tony@atomide.com>
Thu, 24 Jan 2008 23:14:19 +0000 (15:14 -0800)
This patch registers the MMC device for OMAP2430/3430.

Signed-off-by: Madhusudhan Chikkature<madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/plat-omap/devices.c

index 427db48daa23a0210d1f8240f7249b5a9e595478..1f703ef7e1e624af31f9956850dd2f6cc664d68f 100644 (file)
@@ -154,9 +154,10 @@ static inline void omap_init_kp(void) {}
 
 /*-------------------------------------------------------------------------*/
 
-#if    defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE)
+#if    defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) \
+       || defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
 
-#ifdef CONFIG_ARCH_OMAP24XX
+#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
 #define        OMAP_MMC1_BASE          0x4809c000
 #define OMAP_MMC1_INT          INT_24XX_MMC_IRQ
 #else
@@ -228,10 +229,6 @@ static void __init omap_init_mmc(void)
        const struct omap_mmc_config    *mmc_conf;
        const struct omap_mmc_conf      *mmc;
 
-       /* REVISIT: 2430 has HS MMC */
-       if (cpu_is_omap2430() || cpu_is_omap34xx())
-               return;
-
        /* NOTE:  assumes MMC was never (wrongly) enabled */
        mmc_conf = omap_get_config(OMAP_TAG_MMC, struct omap_mmc_config);
        if (!mmc_conf)
@@ -239,6 +236,13 @@ static void __init omap_init_mmc(void)
 
        /* block 1 is always available and has just one pinout option */
        mmc = &mmc_conf->mmc[0];
+
+       if (cpu_is_omap2430() || cpu_is_omap34xx()) {
+               if (mmc->enabled)
+                       (void) platform_device_register(&mmc_omap_device1);
+               return;
+       }
+
        if (mmc->enabled) {
                if (cpu_is_omap24xx()) {
                        omap_cfg_reg(H18_24XX_MMC_CMD);
@@ -339,6 +343,8 @@ void omap_set_mmc_info(int host, const struct omap_mmc_platform_data *info)
 }
 
 #else
+static void omap_set_mmc_info(int host,
+       const struct omap_mmc_platform_data *info) {}
 static inline void omap_init_mmc(void) {}
 #endif