aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-01-23 14:03:37 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-02-08 12:50:17 -0500
commitd4a36645a1a76e5294c1b00682fb849fc53ccd80 (patch)
tree4d058fce1c0239c2d48a12288d33fbd724e8d015
parent5c9e02b1abcb227f47529ad72cc4a3234cddae49 (diff)
[ARM] omap: MMC: provide a dummy ick for OMAP1
Eliminate the OMAP1 vs OMAP2 clock knowledge in the MMC driver. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/mach-omap1/clock.c2
-rw-r--r--drivers/mmc/host/omap.c19
2 files changed, 10 insertions, 11 deletions
diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c
index 3015e8529658..61ace02e7ddc 100644
--- a/arch/arm/mach-omap1/clock.c
+++ b/arch/arm/mach-omap1/clock.c
@@ -125,7 +125,9 @@ static struct omap_clk omap_clks[] = {
125 CLK(NULL, "bclk", &bclk_1510, CK_1510 | CK_310), 125 CLK(NULL, "bclk", &bclk_1510, CK_1510 | CK_310),
126 CLK(NULL, "bclk", &bclk_16xx, CK_16XX), 126 CLK(NULL, "bclk", &bclk_16xx, CK_16XX),
127 CLK("mmci-omap.0", "fck", &mmc1_ck, CK_16XX | CK_1510 | CK_310), 127 CLK("mmci-omap.0", "fck", &mmc1_ck, CK_16XX | CK_1510 | CK_310),
128 CLK("mmci-omap.0", "ick", &armper_ck.clk, CK_16XX | CK_1510 | CK_310),
128 CLK("mmci-omap.1", "fck", &mmc2_ck, CK_16XX), 129 CLK("mmci-omap.1", "fck", &mmc2_ck, CK_16XX),
130 CLK("mmci-omap.1", "ick", &armper_ck.clk, CK_16XX),
129 /* Virtual clocks */ 131 /* Virtual clocks */
130 CLK(NULL, "mpu", &virtual_ck_mpu, CK_16XX | CK_1510 | CK_310), 132 CLK(NULL, "mpu", &virtual_ck_mpu, CK_16XX | CK_1510 | CK_310),
131 CLK("i2c_omap.1", "i2c_fck", &i2c_fck, CK_16XX | CK_1510 | CK_310), 133 CLK("i2c_omap.1", "i2c_fck", &i2c_fck, CK_16XX | CK_1510 | CK_310),
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 15eb88343760..5570849188cc 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -1460,15 +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, "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 1467
1470 host->fclk = clk_get(&pdev->dev, "fck"); 1468 host->fclk = clk_get(&pdev->dev, "fck");
1471
1472 if (IS_ERR(host->fclk)) { 1469 if (IS_ERR(host->fclk)) {
1473 ret = PTR_ERR(host->fclk); 1470 ret = PTR_ERR(host->fclk);
1474 goto err_free_iclk; 1471 goto err_free_iclk;
@@ -1533,10 +1530,10 @@ static int mmc_omap_remove(struct platform_device *pdev)
1533 if (host->pdata->cleanup) 1530 if (host->pdata->cleanup)
1534 host->pdata->cleanup(&pdev->dev); 1531 host->pdata->cleanup(&pdev->dev);
1535 1532
1536 if (host->iclk && !IS_ERR(host->iclk)) 1533 mmc_omap_fclk_enable(host, 0);
1537 clk_put(host->iclk); 1534 clk_put(host->fclk);
1538 if (host->fclk && !IS_ERR(host->fclk)) 1535 clk_disable(host->iclk);
1539 clk_put(host->fclk); 1536 clk_put(host->iclk);
1540 1537
1541 iounmap(host->virt_base); 1538 iounmap(host->virt_base);
1542 release_mem_region(pdev->resource[0].start, 1539 release_mem_region(pdev->resource[0].start,