mmc: omap: Fix broken reg_shift initialization
authorTony Lindgren <tony@atomide.com>
Wed, 6 Jun 2012 13:47:49 +0000 (09:47 -0400)
committerChris Ball <cjb@laptop.org>
Wed, 6 Jun 2012 13:47:49 +0000 (09:47 -0400)
Commit fa550189 (mmc: core: Prevent eMMC VCC supply to be cut from late init)
slightly affected timings for how things are done for the omap MMC driver
causing the MMC cards not getting detected any longer.

Turns out this was caused by buggy reg_shift initialization in the omap
MMC driver that was happening after mmc_add_host() was being called.

Fix this by initializing reg_shift before mmc_add_host() is called.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/omap.c

index 6b07730598dab6f817a42ba8e3c5a46391f1b3be..3e8dcf8d2e051efea306e933fa701d7f92d53333 100644 (file)
@@ -1485,6 +1485,7 @@ static int __devinit mmc_omap_probe(struct platform_device *pdev)
        }
 
        host->nr_slots = pdata->nr_slots;
+       host->reg_shift = (cpu_is_omap7xx() ? 1 : 2);
 
        host->mmc_omap_wq = alloc_workqueue("mmc_omap", 0, 0);
        if (!host->mmc_omap_wq)
@@ -1500,8 +1501,6 @@ static int __devinit mmc_omap_probe(struct platform_device *pdev)
                }
        }
 
-       host->reg_shift = (cpu_is_omap7xx() ? 1 : 2);
-
        return 0;
 
 err_destroy_wq:
This page took 0.034208 seconds and 5 git commands to generate.