diff options
author | Mark Brown <broonie@kernel.org> | 2017-04-06 11:50:04 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-04-06 11:50:04 +0100 |
commit | 3a37471551cd3b287ce7f02ed25bcf8ec37a191d (patch) | |
tree | f7bacf98400f55bed2737c9f7cf3b68f9a070c2b /sound/soc/sh/rcar/adg.c | |
parent | e0c4211854bfebd5507761a2bfddaa9e37074230 (diff) | |
parent | fc99d23f6d3ec6b17772915114018444393e0ad1 (diff) | |
download | linux-3a37471551cd3b287ce7f02ed25bcf8ec37a191d.tar.gz |
Merge branch 'fix/rcar' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rcar
Diffstat (limited to 'sound/soc/sh/rcar/adg.c')
-rw-r--r-- | sound/soc/sh/rcar/adg.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c index 54146f66538c..214a9ce90bb4 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; @@ -592,5 +590,10 @@ int rsnd_adg_probe(struct rsnd_priv *priv) void rsnd_adg_remove(struct rsnd_priv *priv) { + struct device *dev = rsnd_priv_to_dev(priv); + struct device_node *np = dev->of_node; + + of_clk_del_provider(np); + rsnd_adg_clk_disable(priv); } |