diff options
Diffstat (limited to 'drivers/mmc/host/omap.c')
-rw-r--r-- | drivers/mmc/host/omap.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c index c16028872bbb..1b9fc3c6b875 100644 --- a/drivers/mmc/host/omap.c +++ b/drivers/mmc/host/omap.c | |||
@@ -172,7 +172,7 @@ struct mmc_omap_host { | |||
172 | struct omap_mmc_platform_data *pdata; | 172 | struct omap_mmc_platform_data *pdata; |
173 | }; | 173 | }; |
174 | 174 | ||
175 | void mmc_omap_fclk_offdelay(struct mmc_omap_slot *slot) | 175 | static void mmc_omap_fclk_offdelay(struct mmc_omap_slot *slot) |
176 | { | 176 | { |
177 | unsigned long tick_ns; | 177 | unsigned long tick_ns; |
178 | 178 | ||
@@ -182,7 +182,7 @@ void mmc_omap_fclk_offdelay(struct mmc_omap_slot *slot) | |||
182 | } | 182 | } |
183 | } | 183 | } |
184 | 184 | ||
185 | void mmc_omap_fclk_enable(struct mmc_omap_host *host, unsigned int enable) | 185 | static void mmc_omap_fclk_enable(struct mmc_omap_host *host, unsigned int enable) |
186 | { | 186 | { |
187 | unsigned long flags; | 187 | unsigned long flags; |
188 | 188 | ||
@@ -1455,7 +1455,9 @@ static int __init mmc_omap_probe(struct platform_device *pdev) | |||
1455 | 1455 | ||
1456 | host->irq = irq; | 1456 | host->irq = irq; |
1457 | host->phys_base = host->mem_res->start; | 1457 | host->phys_base = host->mem_res->start; |
1458 | host->virt_base = (void __iomem *) IO_ADDRESS(host->phys_base); | 1458 | host->virt_base = ioremap(res->start, res->end - res->start + 1); |
1459 | if (!host->virt_base) | ||
1460 | goto err_ioremap; | ||
1459 | 1461 | ||
1460 | if (cpu_is_omap24xx()) { | 1462 | if (cpu_is_omap24xx()) { |
1461 | host->iclk = clk_get(&pdev->dev, "mmc_ick"); | 1463 | host->iclk = clk_get(&pdev->dev, "mmc_ick"); |
@@ -1510,6 +1512,8 @@ err_free_iclk: | |||
1510 | clk_put(host->iclk); | 1512 | clk_put(host->iclk); |
1511 | } | 1513 | } |
1512 | err_free_mmc_host: | 1514 | err_free_mmc_host: |
1515 | iounmap(host->virt_base); | ||
1516 | err_ioremap: | ||
1513 | kfree(host); | 1517 | kfree(host); |
1514 | err_free_mem_region: | 1518 | err_free_mem_region: |
1515 | release_mem_region(res->start, res->end - res->start + 1); | 1519 | release_mem_region(res->start, res->end - res->start + 1); |
@@ -1536,6 +1540,7 @@ static int mmc_omap_remove(struct platform_device *pdev) | |||
1536 | if (host->fclk && !IS_ERR(host->fclk)) | 1540 | if (host->fclk && !IS_ERR(host->fclk)) |
1537 | clk_put(host->fclk); | 1541 | clk_put(host->fclk); |
1538 | 1542 | ||
1543 | iounmap(host->virt_base); | ||
1539 | release_mem_region(pdev->resource[0].start, | 1544 | release_mem_region(pdev->resource[0].start, |
1540 | pdev->resource[0].end - pdev->resource[0].start + 1); | 1545 | pdev->resource[0].end - pdev->resource[0].start + 1); |
1541 | 1546 | ||