]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: etm: Don't require clock control
authorArve Hjønnevåg <arve@android.com>
Sat, 29 Jan 2011 07:12:32 +0000 (23:12 -0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:35:27 +0000 (08:35 +0200)
If clk_get fail, assume the etb does not need a separate clock.

Change-Id: Ia0bf3f5391e94a60ea45876aa7afc8a88a7ec3bf
Signed-off-by: Arve Hjønnevåg <arve@android.com>
arch/arm/kernel/etm.c

index 1bec8b5f22f05446df1c8fc60b6a9391df48b2dd..9c96b5f5614e7fcc3e2855cd316b4328b6dbff37 100644 (file)
@@ -361,13 +361,12 @@ static int __devinit etb_probe(struct amba_device *dev, const struct amba_id *id
        if (ret)
                goto out_unmap;
 
+       /* Get optional clock. Currently used to select clock source on omap3 */
        t->emu_clk = clk_get(&dev->dev, "emu_src_ck");
-       if (IS_ERR(t->emu_clk)) {
+       if (IS_ERR(t->emu_clk))
                dev_dbg(&dev->dev, "Failed to obtain emu_src_ck.\n");
-               return -EFAULT;
-       }
-
-       clk_enable(t->emu_clk);
+       else
+               clk_enable(t->emu_clk);
 
        etb_unlock(t);
        t->etb_bufsz = etb_readl(t, ETBR_DEPTH);
@@ -402,8 +401,10 @@ static int etb_remove(struct amba_device *dev)
        iounmap(t->etb_regs);
        t->etb_regs = NULL;
 
-       clk_disable(t->emu_clk);
-       clk_put(t->emu_clk);
+       if (!IS_ERR(t->emu_clk)) {
+               clk_disable(t->emu_clk);
+               clk_put(t->emu_clk);
+       }
 
        amba_release_regions(dev);