[ARM] tegra: mmc: Fix built-in device detect delay
authorDmitry Shmidt <dimitrysh@google.com>
Thu, 24 Jun 2010 02:10:42 +0000 (19:10 -0700)
committerColin Cross <ccross@android.com>
Wed, 6 Oct 2010 23:33:11 +0000 (16:33 -0700)
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
arch/arm/include/asm/mach/mmc.h
drivers/mmc/host/sdhci-tegra.c

index 8948dec26067a7178dd2d9756531a925fa61eded..f8d391ad92037085457ddfdfdb832232bb0cb28c 100644 (file)
@@ -17,6 +17,7 @@ struct embedded_sdio_data {
 
 struct mmc_platform_data {
        unsigned int ocr_mask;                  /* available voltages */
+       int built_in;                           /* built-in device flag */
        u32 (*translate_vdd)(struct device *, unsigned int);
        unsigned int (*status)(struct device *);
        struct embedded_sdio_data *embedded_sdio;
index 6d56e21bb5a56bf475233b88e9fe3a7526e67507..2a73fd3e85706290a0de13feaa745773cc93910b 100644 (file)
@@ -65,7 +65,7 @@ static void sdhci_status_notify_cb(int card_present, void *dev_id)
        if (status ^ oldstat) {
                pr_debug("%s: Slot status change detected (%d -> %d)\n",
                        mmc_hostname(host->mmc), oldstat, status);
-               if (status)
+               if (status && !tegra_host->plat->mmc_data.built_in)
                        mmc_detect_change(host->mmc, (5 * HZ) / 2);
                else
                        mmc_detect_change(host->mmc, 0);