staging: omap-thermal: update clock prepare count
authorEduardo Valentin <eduardo.valentin@ti.com>
Tue, 26 Feb 2013 22:53:38 +0000 (18:53 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 11 Mar 2013 16:48:54 +0000 (09:48 -0700)
This patch changes the clock management code to also update
the clock prepare counter, this way we won't skip the enable/disable
operation due to prepare dependencies.

Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/omap-thermal/omap-bandgap.c

index 83f74f496017e47b1e7b696c655db72e81db56a2..d4a37880f1dec8665cd5c8b552965e32896db07f 100644 (file)
@@ -943,7 +943,7 @@ int omap_bandgap_probe(struct platform_device *pdev)
 
        bg_ptr->clk_rate = clk_rate;
        if (OMAP_BANDGAP_HAS(bg_ptr, CLK_CTRL))
-               clk_enable(bg_ptr->fclock);
+               clk_prepare_enable(bg_ptr->fclock);
 
 
        mutex_init(&bg_ptr->bg_mutex);
@@ -1013,7 +1013,7 @@ int omap_bandgap_probe(struct platform_device *pdev)
 
 disable_clk:
        if (OMAP_BANDGAP_HAS(bg_ptr, CLK_CTRL))
-               clk_disable(bg_ptr->fclock);
+               clk_disable_unprepare(bg_ptr->fclock);
 put_clks:
        clk_put(bg_ptr->fclock);
        clk_put(bg_ptr->div_clk);
@@ -1044,7 +1044,7 @@ int omap_bandgap_remove(struct platform_device *pdev)
        omap_bandgap_power(bg_ptr, false);
 
        if (OMAP_BANDGAP_HAS(bg_ptr, CLK_CTRL))
-               clk_disable(bg_ptr->fclock);
+               clk_disable_unprepare(bg_ptr->fclock);
        clk_put(bg_ptr->fclock);
        clk_put(bg_ptr->div_clk);
 
@@ -1143,7 +1143,7 @@ static int omap_bandgap_suspend(struct device *dev)
        omap_bandgap_power(bg_ptr, false);
 
        if (OMAP_BANDGAP_HAS(bg_ptr, CLK_CTRL))
-               clk_disable(bg_ptr->fclock);
+               clk_disable_unprepare(bg_ptr->fclock);
 
        return err;
 }
@@ -1153,7 +1153,7 @@ static int omap_bandgap_resume(struct device *dev)
        struct omap_bandgap *bg_ptr = dev_get_drvdata(dev);
 
        if (OMAP_BANDGAP_HAS(bg_ptr, CLK_CTRL))
-               clk_enable(bg_ptr->fclock);
+               clk_prepare_enable(bg_ptr->fclock);
 
        omap_bandgap_power(bg_ptr, true);