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: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/53f928290f08f50ff43031e17fe1d88443c2c441.1686202022.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Christophe JAILLET 2023-06-08 07:27:22 +02:00 committed by Mark Brown
parent 3b3a8d6d34
commit 41a343cd6b
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0
2 changed files with 8 additions and 10 deletions

View file

@ -273,13 +273,12 @@ static int tegra20_i2s_filter_rates(struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai = rule->private;
struct tegra20_i2s *i2s = dev_get_drvdata(dai->dev);
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);
if (parent_rate <= 0) {
dev_err(dai->dev, "Can't get parent clock rate: %ld\n",
parent_rate);
return parent_rate ?: -EINVAL;
if (!parent_rate) {
dev_err(dai->dev, "Can't get parent clock rate\n");
return -EINVAL;
}
for (i = 0; i < ARRAY_SIZE(tegra20_i2s_rates); i++) {

View file

@ -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 clk *parent = clk_get_parent(spdif->clk_spdif_out);
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);
if (parent_rate <= 0) {
dev_err(dai->dev, "Can't get parent clock rate: %ld\n",
parent_rate);
return parent_rate ?: -EINVAL;
if (!parent_rate) {
dev_err(dai->dev, "Can't get parent clock rate\n");
return -EINVAL;
}
for (i = 0; i < ARRAY_SIZE(rates); i++) {