OSDN Git Service

clk: wm831x: Fix wm831x_clkout_get_parent
authorAxel Lin <axel.lin@ingics.com>
Wed, 1 May 2013 15:32:05 +0000 (23:32 +0800)
committerMike Turquette <mturquette@linaro.org>
Wed, 29 May 2013 06:50:52 +0000 (23:50 -0700)
Current code looks strange because calling wm831x_clkout_set_parent() with 0 as
parent parameter, wm831x_clkout_get_parent() will return 1.

According to the datasheet:
R16528 (4090h) Clock Control1
        BIT 0: CLKOUT output source select
                0 = FLL output
                1 = 32.768kHz oscillator

Thus fix the entry order in wm831x_clkout_parents[] to make it has
the same meaning as the datasheet and make the return value
of wm831x_clkout_get_parent() consistent with the parent pass to
wm831x_clkout_set_parent().

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/clk-wm831x.c

index 4bdf0b0..58d08a6 100644 (file)
@@ -299,8 +299,8 @@ static void wm831x_clkout_unprepare(struct clk_hw *hw)
 }
 
 static const char *wm831x_clkout_parents[] = {
-       "xtal",
        "fll",
+       "xtal",
 };
 
 static u8 wm831x_clkout_get_parent(struct clk_hw *hw)
@@ -318,9 +318,9 @@ static u8 wm831x_clkout_get_parent(struct clk_hw *hw)
        }
 
        if (ret & WM831X_CLKOUT_SRC)
-               return 0;
-       else
                return 1;
+       else
+               return 0;
 }
 
 static int wm831x_clkout_set_parent(struct clk_hw *hw, u8 parent)