clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate
authorPeter De Schrijver <pdeschrijver@nvidia.com>
Wed, 5 Jun 2013 15:06:36 +0000 (18:06 +0300)
committerMike Turquette <mturquette@linaro.org>
Wed, 12 Jun 2013 01:04:08 +0000 (18:04 -0700)
clk_set_rate() uses clk->rate directly. This causes problems if the clock
is marked as CLK_GET_RATE_NOCACHE. Hence call clk_get_rate() to get the
current rate.

Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/clk.c

index 9b2f941..2e669a8 100644 (file)
@@ -1216,7 +1216,7 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
        clk_prepare_lock();
 
        /* bail early if nothing to do */
-       if (rate == clk->rate)
+       if (rate == clk_get_rate(clk))
                goto out;
 
        if ((clk->flags & CLK_SET_RATE_GATE) && clk->prepare_count) {