aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/sh/rcar/adg.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2017-04-06 11:50:04 +0100
committerMark Brown <broonie@kernel.org>2017-04-06 11:50:04 +0100
commit3a37471551cd3b287ce7f02ed25bcf8ec37a191d (patch)
treef7bacf98400f55bed2737c9f7cf3b68f9a070c2b /sound/soc/sh/rcar/adg.c
parentASoC: rcar: remove rsnd_kctrl_remove() (diff)
parentASoC: rsnd: tidyup src->convert_rate reset timing (diff)
downloadlinux-dev-3a37471551cd3b287ce7f02ed25bcf8ec37a191d.tar.xz
linux-dev-3a37471551cd3b287ce7f02ed25bcf8ec37a191d.zip
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.c19
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);
}