aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2012-06-06 09:47:49 -0400
committerChris Ball <cjb@laptop.org>2012-06-06 09:47:49 -0400
commitebbe6f889f36d35f4d1757ba2ecc0af6150bf12b (patch)
tree4edcf5315201974fee476dd2fb4d864aa84c244f /drivers/mmc
parent3caf41406dd67b412abae7df86cc2a09bef9621f (diff)
mmc: omap: Fix broken reg_shift initialization
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>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/omap.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 6b07730598d..3e8dcf8d2e0 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -1485,6 +1485,7 @@ static int __devinit mmc_omap_probe(struct platform_device *pdev)
1485 } 1485 }
1486 1486
1487 host->nr_slots = pdata->nr_slots; 1487 host->nr_slots = pdata->nr_slots;
1488 host->reg_shift = (cpu_is_omap7xx() ? 1 : 2);
1488 1489
1489 host->mmc_omap_wq = alloc_workqueue("mmc_omap", 0, 0); 1490 host->mmc_omap_wq = alloc_workqueue("mmc_omap", 0, 0);
1490 if (!host->mmc_omap_wq) 1491 if (!host->mmc_omap_wq)
@@ -1500,8 +1501,6 @@ static int __devinit mmc_omap_probe(struct platform_device *pdev)
1500 } 1501 }
1501 } 1502 }
1502 1503
1503 host->reg_shift = (cpu_is_omap7xx() ? 1 : 2);
1504
1505 return 0; 1504 return 0;
1506 1505
1507err_destroy_wq: 1506err_destroy_wq: