]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
ARM: OMAP: Add error checking to clock functions
authorTony Lindgren <tony@atomide.com>
Thu, 9 Feb 2006 18:21:32 +0000 (10:21 -0800)
committerTony Lindgren <tony@atomide.com>
Thu, 9 Feb 2006 18:21:32 +0000 (10:21 -0800)
Add error checking to clock functions

arch/arm/plat-omap/clock.c

index 7b242a125acde14614c74b46316576ed3f57a1fa..a8b0bf26a213bbf9be0fc5c3f21e170bd910a64c 100644 (file)
@@ -59,6 +59,9 @@ int clk_enable(struct clk *clk)
        unsigned long flags;
        int ret = 0;
 
+       if (clk == NULL || IS_ERR(clk))
+               return -ENODEV;
+
        spin_lock_irqsave(&clockfw_lock, flags);
        if (arch_clock->clk_enable)
                ret = arch_clock->clk_enable(clk);
@@ -72,6 +75,9 @@ void clk_disable(struct clk *clk)
 {
        unsigned long flags;
 
+       if (clk == NULL || IS_ERR(clk))
+               return;
+
        spin_lock_irqsave(&clockfw_lock, flags);
        if (arch_clock->clk_disable)
                arch_clock->clk_disable(clk);
@@ -84,6 +90,9 @@ int clk_get_usecount(struct clk *clk)
        unsigned long flags;
        int ret = 0;
 
+       if (clk == NULL || IS_ERR(clk))
+               return 0;
+
        spin_lock_irqsave(&clockfw_lock, flags);
        ret = clk->usecount;
        spin_unlock_irqrestore(&clockfw_lock, flags);
@@ -97,6 +106,9 @@ unsigned long clk_get_rate(struct clk *clk)
        unsigned long flags;
        unsigned long ret = 0;
 
+       if (clk == NULL || IS_ERR(clk))
+               return 0;
+
        spin_lock_irqsave(&clockfw_lock, flags);
        ret = clk->rate;
        spin_unlock_irqrestore(&clockfw_lock, flags);