Commit 41a343cd authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Mark Brown

ASoC: tegra: Simplify code around clk_get_rate() handling

clk_get_rate() returns an unsigned long, so there is no point in storing it
in a long, and test for negative values.

So, turn 'parent_rate' into an unsigned long, simplify the sanity check,
the error message and the return value, in case of error (i.e. 0).

Doing so also turns 'i' and 'valid_rates' into unsigned long, but it is
fine and harmless.
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/53f928290f08f50ff43031e17fe1d88443c2c441.1686202022.git.christophe.jaillet@wanadoo.frSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3b3a8d6d
...@@ -273,13 +273,12 @@ static int tegra20_i2s_filter_rates(struct snd_pcm_hw_params *params, ...@@ -273,13 +273,12 @@ static int tegra20_i2s_filter_rates(struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai = rule->private; struct snd_soc_dai *dai = rule->private;
struct tegra20_i2s *i2s = dev_get_drvdata(dai->dev); struct tegra20_i2s *i2s = dev_get_drvdata(dai->dev);
struct clk *parent = clk_get_parent(i2s->clk_i2s); struct clk *parent = clk_get_parent(i2s->clk_i2s);
long i, parent_rate, valid_rates = 0; unsigned long i, parent_rate, valid_rates = 0;
parent_rate = clk_get_rate(parent); parent_rate = clk_get_rate(parent);
if (parent_rate <= 0) { if (!parent_rate) {
dev_err(dai->dev, "Can't get parent clock rate: %ld\n", dev_err(dai->dev, "Can't get parent clock rate\n");
parent_rate); return -EINVAL;
return parent_rate ?: -EINVAL;
} }
for (i = 0; i < ARRAY_SIZE(tegra20_i2s_rates); i++) { for (i = 0; i < ARRAY_SIZE(tegra20_i2s_rates); i++) {
......
...@@ -187,13 +187,12 @@ static int tegra20_spdif_filter_rates(struct snd_pcm_hw_params *params, ...@@ -187,13 +187,12 @@ static int tegra20_spdif_filter_rates(struct snd_pcm_hw_params *params,
struct tegra20_spdif *spdif = dev_get_drvdata(dai->dev); struct tegra20_spdif *spdif = dev_get_drvdata(dai->dev);
struct clk *parent = clk_get_parent(spdif->clk_spdif_out); struct clk *parent = clk_get_parent(spdif->clk_spdif_out);
static const unsigned int rates[] = { 32000, 44100, 48000 }; static const unsigned int rates[] = { 32000, 44100, 48000 };
long i, parent_rate, valid_rates = 0; unsigned long i, parent_rate, valid_rates = 0;
parent_rate = clk_get_rate(parent); parent_rate = clk_get_rate(parent);
if (parent_rate <= 0) { if (!parent_rate) {
dev_err(dai->dev, "Can't get parent clock rate: %ld\n", dev_err(dai->dev, "Can't get parent clock rate\n");
parent_rate); return -EINVAL;
return parent_rate ?: -EINVAL;
} }
for (i = 0; i < ARRAY_SIZE(rates); i++) { for (i = 0; i < ARRAY_SIZE(rates); i++) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment