Messages in this thread |  | | Subject | Re: [PATCH v7 15/21] ASoC: tegra: Add fallback implementation for audio mclk | From | Sameer Pujar <> | Date | Wed, 8 Jan 2020 11:58:56 +0530 |
| |
On 1/8/2020 11:18 AM, Sowjanya Komatineni wrote: > > 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.
Yes, but falling back essentially means 'mclk' is not available and fallback print is not an error. Not a major issue though, you can consider updating. Otherwise LGTM.
>>> - 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? > >>> } >>> /*
|  |