OSDN Git Service

ASoC: atmel: mchp-pdmc: Fix `-Wpointer-bool-conversion` warning
authorAlviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
Tue, 15 Mar 2022 00:18:48 +0000 (00:18 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 15 Mar 2022 12:03:49 +0000 (12:03 +0000)
In function mchp_pdmc_af_put(), Intel's kernel test robot reports the
following warning:

  sound/soc/atmel/mchp-pdmc.c:186:34: warning: address of array \
  'uvalue->value.integer.value' will always evaluate to 'true' \
  [-Wpointer-bool-conversion]

This is because we are using `uvalue->value.integer.value` which its
type is `long value[128];` for conditional expression and that array
will always decay to a non-NULL pointer. Using a non-NULL pointer for
conditional expression will always evaluate to true.

Fix this by changing it to `uvalue->value.integer.value[0]` as that's
what the mchp_pdmc_af_get() function sets.

Reported-by: kernel test robot <lkp@intel.com>
Reviewed-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Alviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
Link: https://lore.kernel.org/r/20220315001848.3763534-1-alviro.iskandar@gnuweeb.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/atmel/mchp-pdmc.c

index 1be4007..e0aec5f 100644 (file)
@@ -183,7 +183,7 @@ static int mchp_pdmc_af_put(struct snd_kcontrol *kcontrol,
 {
        struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
        struct mchp_pdmc *dd = snd_soc_component_get_drvdata(component);
-       bool af = uvalue->value.integer.value ? true : false;
+       bool af = uvalue->value.integer.value[0] ? true : false;
 
        if (dd->audio_filter_en == af)
                return 0;