From: Kuninori Morimoto <kuninori.morimoto...@renesas.com>

Current adg is calling of_clk_add_povider() multiple times,
but it is not correct usage. This patch fixup its parameter
and call it once.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
---
 sound/soc/sh/rcar/adg.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
index 54146f6..3337861 100644
--- a/sound/soc/sh/rcar/adg.c
+++ b/sound/soc/sh/rcar/adg.c
@@ -537,16 +537,14 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv,
                        clk = clk_register_fixed_rate(dev, clkout_name[i],
                                                      parent_clk_name, 0,
                                                      req_rate);
-                       if (!IS_ERR(clk)) {
-                               adg->onecell.clks       = adg->clkout;
-                               adg->onecell.clk_num    = CLKOUTMAX;
-
+                       adg->clkout[i] = ERR_PTR(-ENOENT);
+                       if (!IS_ERR(clk))
                                adg->clkout[i] = clk;
-
-                               of_clk_add_provider(np, of_clk_src_onecell_get,
-                                                   &adg->onecell);
-                       }
                }
+               adg->onecell.clks       = adg->clkout;
+               adg->onecell.clk_num    = CLKOUTMAX;
+               of_clk_add_provider(np, of_clk_src_onecell_get,
+                                   &adg->onecell);
        }
 
        adg->ckr = ckr;
-- 
1.9.1

Reply via email to