aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/omap.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/host/omap.c')
-rw-r--r--drivers/mmc/host/omap.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 67d7b7fef084..5570849188cc 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -1460,18 +1460,12 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
1460 if (!host->virt_base) 1460 if (!host->virt_base)
1461 goto err_ioremap; 1461 goto err_ioremap;
1462 1462
1463 if (cpu_is_omap24xx()) { 1463 host->iclk = clk_get(&pdev->dev, "ick");
1464 host->iclk = clk_get(&pdev->dev, "mmc_ick"); 1464 if (IS_ERR(host->iclk))
1465 if (IS_ERR(host->iclk)) 1465 goto err_free_mmc_host;
1466 goto err_free_mmc_host; 1466 clk_enable(host->iclk);
1467 clk_enable(host->iclk);
1468 }
1469
1470 if (!cpu_is_omap24xx())
1471 host->fclk = clk_get(&pdev->dev, "mmc_ck");
1472 else
1473 host->fclk = clk_get(&pdev->dev, "mmc_fck");
1474 1467
1468 host->fclk = clk_get(&pdev->dev, "fck");
1475 if (IS_ERR(host->fclk)) { 1469 if (IS_ERR(host->fclk)) {
1476 ret = PTR_ERR(host->fclk); 1470 ret = PTR_ERR(host->fclk);
1477 goto err_free_iclk; 1471 goto err_free_iclk;
@@ -1536,10 +1530,10 @@ static int mmc_omap_remove(struct platform_device *pdev)
1536 if (host->pdata->cleanup) 1530 if (host->pdata->cleanup)
1537 host->pdata->cleanup(&pdev->dev); 1531 host->pdata->cleanup(&pdev->dev);
1538 1532
1539 if (host->iclk && !IS_ERR(host->iclk)) 1533 mmc_omap_fclk_enable(host, 0);
1540 clk_put(host->iclk); 1534 clk_put(host->fclk);
1541 if (host->fclk && !IS_ERR(host->fclk)) 1535 clk_disable(host->iclk);
1542 clk_put(host->fclk); 1536 clk_put(host->iclk);
1543 1537
1544 iounmap(host->virt_base); 1538 iounmap(host->virt_base);
1545 release_mem_region(pdev->resource[0].start, 1539 release_mem_region(pdev->resource[0].start,