ASoC: simple-card-utils: Do not handle device clock
commit 8ca88d53351cc58d535b2bfc7386835378fb0db2 upstream. This reverts commit 1e30f642cf29 ("ASoC: simple-card-utils: Fix device module clock"). The original patch ended up breaking following platform, which depends on set_sysclk() to configure internal PLL on wm8904 codec and expects simple-card-utils to not update the MCLK rate. - "arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var3-ads2.dts" It would be best if codec takes care of setting MCLK clock via DAI set_sysclk() callback. Reported-by: Michael Walle <michael@walle.cc> Suggested-by: Mark Brown <broonie@kernel.org> Suggested-by: Michael Walle <michael@walle.cc> Fixes: 1e30f642cf29 ("ASoC: simple-card-utils: Fix device module clock") Signed-off-by: Sameer Pujar <spujar@nvidia.com> Tested-by: Michael Walle <michael@walle.cc> Link: https://lore.kernel.org/r/1615829492-8972-2-git-send-email-spujar@nvidia.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e029384c18
commit
c71b93323f
@ -172,15 +172,16 @@ int asoc_simple_parse_clk(struct device *dev,
|
||||
* or device's module clock.
|
||||
*/
|
||||
clk = devm_get_clk_from_child(dev, node, NULL);
|
||||
if (IS_ERR(clk))
|
||||
clk = devm_get_clk_from_child(dev, dlc->of_node, NULL);
|
||||
|
||||
if (!IS_ERR(clk)) {
|
||||
simple_dai->clk = clk;
|
||||
simple_dai->sysclk = clk_get_rate(clk);
|
||||
} else if (!of_property_read_u32(node, "system-clock-frequency",
|
||||
&val)) {
|
||||
|
||||
simple_dai->clk = clk;
|
||||
} else if (!of_property_read_u32(node, "system-clock-frequency", &val)) {
|
||||
simple_dai->sysclk = val;
|
||||
} else {
|
||||
clk = devm_get_clk_from_child(dev, dlc->of_node, NULL);
|
||||
if (!IS_ERR(clk))
|
||||
simple_dai->sysclk = clk_get_rate(clk);
|
||||
}
|
||||
|
||||
if (of_property_read_bool(node, "system-clock-direction-out"))
|
||||
|
Loading…
Reference in New Issue
Block a user