Messages in this thread |  | | Subject | Re: [PATCH v7 15/21] ASoC: tegra: Add fallback implementation for audio mclk | From | Sowjanya Komatineni <> | Date | Tue, 7 Jan 2020 21:48:00 -0800 |
| |
On 1/7/20 9:34 PM, Sameer Pujar wrote: > > On 1/8/2020 9:55 AM, Sowjanya Komatineni wrote: >> mclk is from clk_out_1 which is part of Tegra PMC block and pmc clocks >> are moved to Tegra PMC driver with pmc as clock provider and using pmc >> clock ids. >> >> New device tree uses clk_out_1 from pmc clock provider. >> >> So, this patch adds implementation for mclk fallback to extern1 when >> retrieving mclk returns -ENOENT to be backward compatible of new device >> tree with older kernels. >> >> Tested-by: Dmitry Osipenko <digetx@gmail.com> >> Reviewed-by: Dmitry Osipenko <digetx@gmail.com> >> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com> >> --- >> sound/soc/tegra/tegra_asoc_utils.c | 11 ++++++++++- >> 1 file changed, 10 insertions(+), 1 deletion(-) >> >> diff --git a/sound/soc/tegra/tegra_asoc_utils.c >> b/sound/soc/tegra/tegra_asoc_utils.c >> index 9cfebef74870..9a5f81039491 100644 >> --- a/sound/soc/tegra/tegra_asoc_utils.c >> +++ b/sound/soc/tegra/tegra_asoc_utils.c >> @@ -183,7 +183,16 @@ int tegra_asoc_utils_init(struct >> tegra_asoc_utils_data *data, >> data->clk_cdev1 = devm_clk_get(dev, "mclk"); >> if (IS_ERR(data->clk_cdev1)) { >> dev_err(data->dev, "Can't retrieve clk cdev1\n"); > > This error print can be moved inside below if, when this actually > meant to be an error condition. > Want to show error even if mclk retrieval returns ENOENT to clearly indicate mclk does not exist along with message of falling back to extern1. >> - return PTR_ERR(data->clk_cdev1); >> + if (PTR_ERR(data->clk_cdev1) != -ENOENT) >> + return PTR_ERR(data->clk_cdev1); >> + /* Fall back to extern1 */ >> + data->clk_cdev1 = devm_clk_get(dev, "extern1"); >> + if (IS_ERR(data->clk_cdev1)) { >> + dev_err(data->dev, "Can't retrieve clk extern1\n"); >> + return PTR_ERR(data->clk_cdev1); >> + } >> + >> + dev_err(data->dev, "Falling back to extern1\n"); > > This can be a info print?
>> } >> /*
|  |