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.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index b8fd7af1ceeb..84d280406341 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -26,16 +26,17 @@
26#include <linux/clk.h> 26#include <linux/clk.h>
27#include <linux/scatterlist.h> 27#include <linux/scatterlist.h>
28#include <linux/i2c/tps65010.h> 28#include <linux/i2c/tps65010.h>
29#include <linux/slab.h>
29 30
30#include <asm/io.h> 31#include <asm/io.h>
31#include <asm/irq.h> 32#include <asm/irq.h>
32 33
33#include <mach/board.h> 34#include <plat/board.h>
34#include <mach/mmc.h> 35#include <plat/mmc.h>
35#include <mach/gpio.h> 36#include <mach/gpio.h>
36#include <mach/dma.h> 37#include <plat/dma.h>
37#include <mach/mux.h> 38#include <plat/mux.h>
38#include <mach/fpga.h> 39#include <plat/fpga.h>
39 40
40#define OMAP_MMC_REG_CMD 0x00 41#define OMAP_MMC_REG_CMD 0x00
41#define OMAP_MMC_REG_ARGL 0x04 42#define OMAP_MMC_REG_ARGL 0x04
@@ -1459,8 +1460,10 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
1459 goto err_ioremap; 1460 goto err_ioremap;
1460 1461
1461 host->iclk = clk_get(&pdev->dev, "ick"); 1462 host->iclk = clk_get(&pdev->dev, "ick");
1462 if (IS_ERR(host->iclk)) 1463 if (IS_ERR(host->iclk)) {
1464 ret = PTR_ERR(host->iclk);
1463 goto err_free_mmc_host; 1465 goto err_free_mmc_host;
1466 }
1464 clk_enable(host->iclk); 1467 clk_enable(host->iclk);
1465 1468
1466 host->fclk = clk_get(&pdev->dev, "fck"); 1469 host->fclk = clk_get(&pdev->dev, "fck");
@@ -1500,10 +1503,8 @@ err_free_irq:
1500err_free_fclk: 1503err_free_fclk:
1501 clk_put(host->fclk); 1504 clk_put(host->fclk);
1502err_free_iclk: 1505err_free_iclk:
1503 if (host->iclk != NULL) { 1506 clk_disable(host->iclk);
1504 clk_disable(host->iclk); 1507 clk_put(host->iclk);
1505 clk_put(host->iclk);
1506 }
1507err_free_mmc_host: 1508err_free_mmc_host:
1508 iounmap(host->virt_base); 1509 iounmap(host->virt_base);
1509err_ioremap: 1510err_ioremap: