Skip to content

Commit

Permalink
ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init
Browse files Browse the repository at this point in the history
When the 'ti,gpio-config' property is not defined, the
device_property_count_u32() will return an error, rather than zero.

The current check, only handles a return value of zero, which assumes that
the property is defined and has nothing defined.

This change extends the check to also check for an error case (most likely
to be hit by the case that the 'ti,gpio-config' is not defined).

In case that the 'ti,gpio-config' and the returned 'gpio_count' is not
correct, there is a 'if (gpio_count != ADCX140_NUM_GPIO_CFGS)' check, a few
lines lower that will return -EINVAL.
This means that someone tried to define 'ti,gpio-config', but with the
wrong number of GPIOs.

Fixes: d521432 ("ASoC: tlv320adcx140: Add support for configuring GPIO pin")
Signed-off-by: Steffen Aschbacher <steffen.aschbacher@stihl.de>
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://lore.kernel.org/r/20230213073805.14640-1-alex@shruggie.ro
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Steffen Aschbacher authored and Mark Brown committed Feb 13, 2023
1 parent 4680716 commit 771725e
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion sound/soc/codecs/tlv320adcx140.c
Original file line number Diff line number Diff line change
Expand Up @@ -925,7 +925,7 @@ static int adcx140_configure_gpio(struct adcx140_priv *adcx140)

gpio_count = device_property_count_u32(adcx140->dev,
"ti,gpio-config");
if (gpio_count == 0)
if (gpio_count <= 0)
return 0;

if (gpio_count != ADCX140_NUM_GPIO_CFGS)
Expand Down

0 comments on commit 771725e

Please sign in to comment.