Message ID | 20210428122632.46244-3-jbrunet@baylibre.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 97c733654ab4a5ac910216b4b74e605acf3e1cce |
Headers | show |
Series | ASoC: Revert clk_hw_get_clk() cleanup | expand |
On 4/28/21 7:26 AM, Jerome Brunet wrote: > This reverts commit 12f8127fe9e6154dd4197df97e44f3fd67583071. > > There is problem with clk_hw_get_hw(). Using it pins the clock provider to > itself, making it impossible to remove the module. > > Revert commit 12f8127fe9e6 ("ASoC: da7219: properly get clk from the > provider") until this gets sorted out. > > Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> > Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> I added this patch in the SOF tree and the CI results are back to normal: https://sof-ci.01.org/linuxpr/PR2879/build5689/devicetest/ Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Thanks Jerome, this was a surprising/hard-to-detect side effect. > --- > sound/soc/codecs/da7219.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/sound/soc/codecs/da7219.c b/sound/soc/codecs/da7219.c > index bd3c523a8617..13009d08b09a 100644 > --- a/sound/soc/codecs/da7219.c > +++ b/sound/soc/codecs/da7219.c > @@ -2181,10 +2181,7 @@ static int da7219_register_dai_clks(struct snd_soc_component *component) > ret); > goto err; > } > - > - da7219->dai_clks[i] = devm_clk_hw_get_clk(dev, dai_clk_hw, NULL); > - if (IS_ERR(da7219->dai_clks[i])) > - return PTR_ERR(da7219->dai_clks[i]); > + da7219->dai_clks[i] = dai_clk_hw->clk; > > /* For DT setup onecell data, otherwise create lookup */ > if (np) { >
diff --git a/sound/soc/codecs/da7219.c b/sound/soc/codecs/da7219.c index bd3c523a8617..13009d08b09a 100644 --- a/sound/soc/codecs/da7219.c +++ b/sound/soc/codecs/da7219.c @@ -2181,10 +2181,7 @@ static int da7219_register_dai_clks(struct snd_soc_component *component) ret); goto err; } - - da7219->dai_clks[i] = devm_clk_hw_get_clk(dev, dai_clk_hw, NULL); - if (IS_ERR(da7219->dai_clks[i])) - return PTR_ERR(da7219->dai_clks[i]); + da7219->dai_clks[i] = dai_clk_hw->clk; /* For DT setup onecell data, otherwise create lookup */ if (np) {
This reverts commit 12f8127fe9e6154dd4197df97e44f3fd67583071. There is problem with clk_hw_get_hw(). Using it pins the clock provider to itself, making it impossible to remove the module. Revert commit 12f8127fe9e6 ("ASoC: da7219: properly get clk from the provider") until this gets sorted out. Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> --- sound/soc/codecs/da7219.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)