aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2017-04-30 09:15:36 -0400
committerMark Brown <broonie@kernel.org>2017-04-30 09:15:36 -0400
commitd0a906d3a1b4eedee4114f2e5f7842fbb462ae55 (patch)
tree441ae010e6986348db924f86a7ec8d9c71767c40
parentec7f9844ef90ee3ac18194f24fa478577dcfc4ae (diff)
parentfc99d23f6d3ec6b17772915114018444393e0ad1 (diff)
Merge remote-tracking branch 'asoc/fix/rcar' into asoc-linus
-rw-r--r--sound/soc/sh/rcar/adg.c19
-rw-r--r--sound/soc/sh/rcar/src.c3
2 files changed, 12 insertions, 10 deletions
diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
index 85a33ac0a5c4..9665c1fa7216 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,
537 clk = clk_register_fixed_rate(dev, clkout_name[i], 537 clk = clk_register_fixed_rate(dev, clkout_name[i],
538 parent_clk_name, 0, 538 parent_clk_name, 0,
539 req_rate); 539 req_rate);
540 if (!IS_ERR(clk)) { 540 adg->clkout[i] = ERR_PTR(-ENOENT);
541 adg->onecell.clks = adg->clkout; 541 if (!IS_ERR(clk))
542 adg->onecell.clk_num = CLKOUTMAX;
543
544 adg->clkout[i] = clk; 542 adg->clkout[i] = clk;
545
546 of_clk_add_provider(np, of_clk_src_onecell_get,
547 &adg->onecell);
548 }
549 } 543 }
544 adg->onecell.clks = adg->clkout;
545 adg->onecell.clk_num = CLKOUTMAX;
546 of_clk_add_provider(np, of_clk_src_onecell_get,
547 &adg->onecell);
550 } 548 }
551 549
552 adg->ckr = ckr; 550 adg->ckr = ckr;
@@ -589,5 +587,10 @@ int rsnd_adg_probe(struct rsnd_priv *priv)
589 587
590void rsnd_adg_remove(struct rsnd_priv *priv) 588void rsnd_adg_remove(struct rsnd_priv *priv)
591{ 589{
590 struct device *dev = rsnd_priv_to_dev(priv);
591 struct device_node *np = dev->of_node;
592
593 of_clk_del_provider(np);
594
592 rsnd_adg_clk_disable(priv); 595 rsnd_adg_clk_disable(priv);
593} 596}
diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c
index 42db48db09ba..20b5b2ec625e 100644
--- a/sound/soc/sh/rcar/src.c
+++ b/sound/soc/sh/rcar/src.c
@@ -167,6 +167,7 @@ static int rsnd_src_hw_params(struct rsnd_mod *mod,
167 * dpcm_fe_dai_hw_params() 167 * dpcm_fe_dai_hw_params()
168 * dpcm_be_dai_hw_params() 168 * dpcm_be_dai_hw_params()
169 */ 169 */
170 src->convert_rate = 0;
170 if (fe->dai_link->dynamic) { 171 if (fe->dai_link->dynamic) {
171 int stream = substream->stream; 172 int stream = substream->stream;
172 struct snd_soc_dpcm *dpcm; 173 struct snd_soc_dpcm *dpcm;
@@ -414,8 +415,6 @@ static int rsnd_src_quit(struct rsnd_mod *mod,
414 415
415 rsnd_mod_power_off(mod); 416 rsnd_mod_power_off(mod);
416 417
417 src->convert_rate = 0;
418
419 /* reset sync convert_rate */ 418 /* reset sync convert_rate */
420 src->sync.val = 0; 419 src->sync.val = 0;
421 420