Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86
[pandora-kernel.git] / arch / arm / common / timer-sp.c
index 41df478..2393b5b 100644 (file)
@@ -41,9 +41,17 @@ static long __init sp804_get_clock_rate(const char *name)
                return PTR_ERR(clk);
        }
 
+       err = clk_prepare(clk);
+       if (err) {
+               pr_err("sp804: %s clock failed to prepare: %d\n", name, err);
+               clk_put(clk);
+               return err;
+       }
+
        err = clk_enable(clk);
        if (err) {
                pr_err("sp804: %s clock failed to enable: %d\n", name, err);
+               clk_unprepare(clk);
                clk_put(clk);
                return err;
        }
@@ -52,6 +60,7 @@ static long __init sp804_get_clock_rate(const char *name)
        if (rate < 0) {
                pr_err("sp804: %s clock failed to get rate: %ld\n", name, rate);
                clk_disable(clk);
+               clk_unprepare(clk);
                clk_put(clk);
        }