ASoC: tegra-alt: Trivial clean-up for tegra_alt_asoc_utils_init()

Trivial clean-up to the tegra_alt_asoc_utils_init() function to improve
readability and simplify by ...

1. Removing 'goto' statements because we only return the error code on
   error and there is no clean-up that needs to be done in the error
   path.
2. Move the code to request the clk_cdev1_rst reset from under the
   "data->soc > TEGRA_ASOC_UTILS_SOC_TEGRA210" check because we only
   use this reset for Tegra186 and there is an additional check for this
   device.

Bug 1665446

Change-Id: I23aa8978721f677204a929c8fdebea1f9081793f
Signed-off-by: Jonathan Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2016370
Reviewed-by: Mohan Kumar D <mkumard@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Jonathan Hunter
2019-01-07 11:03:52 +00:00
committed by Sameer Pujar
parent ce50d17412
commit 1785c1bee4

View File

@@ -189,8 +189,6 @@ EXPORT_SYMBOL_GPL(tegra_alt_asoc_utils_clk_disable);
int tegra_alt_asoc_utils_init(struct tegra_asoc_audio_clock_info *data, int tegra_alt_asoc_utils_init(struct tegra_asoc_audio_clock_info *data,
struct device *dev, struct snd_soc_card *card) struct device *dev, struct snd_soc_card *card)
{ {
int ret;
data->dev = dev; data->dev = dev;
data->card = card; data->card = card;
data->mclk_scale = 256; data->mclk_scale = 256;
@@ -209,56 +207,47 @@ int tegra_alt_asoc_utils_init(struct tegra_asoc_audio_clock_info *data,
data->clk_m = devm_clk_get(dev, "clk_m"); data->clk_m = devm_clk_get(dev, "clk_m");
if (IS_ERR(data->clk_m)) { if (IS_ERR(data->clk_m)) {
dev_err(data->dev, "Can't retrieve clk clk_m\n"); dev_err(data->dev, "Can't retrieve clk clk_m\n");
ret = PTR_ERR(data->clk_m); return PTR_ERR(data->clk_m);
goto err;
} }
data->clk_pll_a = devm_clk_get(dev, "pll_a"); data->clk_pll_a = devm_clk_get(dev, "pll_a");
if (IS_ERR(data->clk_pll_a)) { if (IS_ERR(data->clk_pll_a)) {
dev_err(data->dev, "Can't retrieve clk pll_a\n"); dev_err(data->dev, "Can't retrieve clk pll_a\n");
ret = PTR_ERR(data->clk_pll_a); return PTR_ERR(data->clk_pll_a);
goto err;
} }
data->clk_pll_a_out0 = devm_clk_get(dev, "pll_a_out0"); data->clk_pll_a_out0 = devm_clk_get(dev, "pll_a_out0");
if (IS_ERR(data->clk_pll_a_out0)) { if (IS_ERR(data->clk_pll_a_out0)) {
dev_err(data->dev, "Can't retrieve clk pll_a_out0\n"); dev_err(data->dev, "Can't retrieve clk pll_a_out0\n");
ret = PTR_ERR(data->clk_pll_a_out0); return PTR_ERR(data->clk_pll_a_out0);
goto err;
} }
data->clk_cdev1 = devm_clk_get(dev, "extern1"); data->clk_cdev1 = devm_clk_get(dev, "extern1");
if (IS_ERR(data->clk_cdev1)) { if (IS_ERR(data->clk_cdev1)) {
dev_err(data->dev, "Can't retrieve clk cdev1\n"); dev_err(data->dev, "Can't retrieve clk cdev1\n");
ret = PTR_ERR(data->clk_cdev1); return PTR_ERR(data->clk_cdev1);
goto err;
} }
if (data->soc > TEGRA_ASOC_UTILS_SOC_TEGRA210) { if (data->soc > TEGRA_ASOC_UTILS_SOC_TEGRA210) {
data->clk_ahub = devm_clk_get(dev, "ahub"); data->clk_ahub = devm_clk_get(dev, "ahub");
if (IS_ERR(data->clk_ahub)) { if (IS_ERR(data->clk_ahub)) {
dev_err(data->dev, "Can't retrieve clk ahub\n"); dev_err(data->dev, "Can't retrieve clk ahub\n");
ret = PTR_ERR(data->clk_ahub); return PTR_ERR(data->clk_ahub);
goto err; }
} }
if (data->soc == TEGRA_ASOC_UTILS_SOC_TEGRA186) { if (data->soc == TEGRA_ASOC_UTILS_SOC_TEGRA186) {
data->clk_cdev1_rst = devm_reset_control_get(dev, data->clk_cdev1_rst = devm_reset_control_get(dev,
"extern1_rst"); "extern1_rst");
if (IS_ERR(data->clk_cdev1_rst)) { if (IS_ERR(data->clk_cdev1_rst)) {
dev_err(dev, dev_err(dev, "Reset control is not found, err: %ld\n",
"Reset control is not found, err: %ld\n",
PTR_ERR(data->clk_cdev1_rst)); PTR_ERR(data->clk_cdev1_rst));
return PTR_ERR(data->clk_cdev1_rst); return PTR_ERR(data->clk_cdev1_rst);
} }
reset_control_reset(data->clk_cdev1_rst); reset_control_reset(data->clk_cdev1_rst);
} }
}
return 0; return 0;
err:
return ret;
} }
EXPORT_SYMBOL_GPL(tegra_alt_asoc_utils_init); EXPORT_SYMBOL_GPL(tegra_alt_asoc_utils_init);