diff options
author | Mark Brown <broonie@kernel.org> | 2017-04-30 09:15:36 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-04-30 09:15:36 -0400 |
commit | d0a906d3a1b4eedee4114f2e5f7842fbb462ae55 (patch) | |
tree | 441ae010e6986348db924f86a7ec8d9c71767c40 | |
parent | ec7f9844ef90ee3ac18194f24fa478577dcfc4ae (diff) | |
parent | fc99d23f6d3ec6b17772915114018444393e0ad1 (diff) |
Merge remote-tracking branch 'asoc/fix/rcar' into asoc-linus
-rw-r--r-- | sound/soc/sh/rcar/adg.c | 19 | ||||
-rw-r--r-- | sound/soc/sh/rcar/src.c | 3 |
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 | ||
590 | void rsnd_adg_remove(struct rsnd_priv *priv) | 588 | void 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 | ||