Re: [PATCH 3/3] ASoC: amd: fix for variable set but not used warning

From: Christophe JAILLET
Date: Sat Jul 09 2022 - 03:34:08 EST


Le 07/07/2022 à 15:26, Vijendar Mukunda a écrit :
Fix below kernel warning.
sound/soc/amd/acp-es8336.c:200:13: warning: variable 'ret' set but
not used [-Wunused-but-set-variable]


Hi,
this patch, looks odd to me.


Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@xxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
---
sound/soc/amd/acp-es8336.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/sound/soc/amd/acp-es8336.c b/sound/soc/amd/acp-es8336.c
index 90f4e5809c72..e1479ae684e9 100644
--- a/sound/soc/amd/acp-es8336.c
+++ b/sound/soc/amd/acp-es8336.c
@@ -206,6 +206,8 @@ static int st_es8336_late_probe(struct snd_soc_card *card)
dev_err(card->dev, "can not find codec dev\n");

The next devm_acpi_dev_add_driver_gpios() will fail, should we return immediately?

ret = devm_acpi_dev_add_driver_gpios(codec_dev, acpi_es8336_gpios);
+ if (ret)
+ dev_warn(card->dev, "Failed to add driver gpios\n");

Should we return immediately?
gpio_pa = gpiod_get_optional(codec_dev, "pa-enable", GPIOD_OUT_LOW);
if (IS_ERR(gpio_pa)) {
@@ -213,6 +215,7 @@ static int st_es8336_late_probe(struct snd_soc_card *card)
"could not get pa-enable GPIO\n");
gpiod_put(gpio_pa);
put_device(codec_dev);
+ return ret;

Here, we return 'ret' which is what is returned by devm_acpi_dev_add_driver_gpios(). So there doesn't seem to be a link with this block which checks for gpiod_get_optional() errors.

Moreover, returning an error for something that is optional (gpiod_get_optional()) looks strange.

Finally, should an error be returned, maybe PTR_ERR(gpio_pa) would be better here.


Just my 2c.

CJ

}
return 0;
}