iio: adc: fix uninitialized variable warning
diff mbox series

Message ID 20190304200317.1229196-1-arnd@arndb.de
State New
Headers show
Series
  • iio: adc: fix uninitialized variable warning
Related show

Commit Message

Arnd Bergmann March 4, 2019, 8:03 p.m. UTC
The pm8xxx_xoadc_probe() function triggers a bogus warning
about an uninitialized variable:

drivers/iio/adc/qcom-pm8xxx-xoadc.c: In function 'pm8xxx_xoadc_probe':
drivers/iio/adc/qcom-pm8xxx-xoadc.c:633:8: error: 'ch' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Reword the function so the compiler can see more easily that it
is always initialized.

Fixes: 63c3ecd946d4 ("iio: adc: add a driver for Qualcomm PM8xxx HK/XOADC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/iio/adc/qcom-pm8xxx-xoadc.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Jonathan Cameron March 9, 2019, 6:10 p.m. UTC | #1
On Mon,  4 Mar 2019 21:03:07 +0100
Arnd Bergmann <arnd@arndb.de> wrote:

> The pm8xxx_xoadc_probe() function triggers a bogus warning
> about an uninitialized variable:
> 
> drivers/iio/adc/qcom-pm8xxx-xoadc.c: In function 'pm8xxx_xoadc_probe':
> drivers/iio/adc/qcom-pm8xxx-xoadc.c:633:8: error: 'ch' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> 
> Reword the function so the compiler can see more easily that it
> is always initialized.
> 
> Fixes: 63c3ecd946d4 ("iio: adc: add a driver for Qualcomm PM8xxx HK/XOADC")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Thanks.

For anyone seeing this here, Linus also picked up on it and
applied a similar fix, so no need for this one.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/iio?id=e0f0ae838a25464179d37f355d763f9ec139fc15

Thanks,

Jonathan

> ---
>  drivers/iio/adc/qcom-pm8xxx-xoadc.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/adc/qcom-pm8xxx-xoadc.c b/drivers/iio/adc/qcom-pm8xxx-xoadc.c
> index c30c002f1fef..7939238001c8 100644
> --- a/drivers/iio/adc/qcom-pm8xxx-xoadc.c
> +++ b/drivers/iio/adc/qcom-pm8xxx-xoadc.c
> @@ -423,7 +423,7 @@ static irqreturn_t pm8xxx_eoc_irq(int irq, void *d)
>  static struct pm8xxx_chan_info *
>  pm8xxx_get_channel(struct pm8xxx_xoadc *adc, u8 chan)
>  {
> -	struct pm8xxx_chan_info *ch;
> +	struct pm8xxx_chan_info *ch = NULL;
>  	int i;
>  
>  	for (i = 0; i < adc->nchans; i++) {
> @@ -431,8 +431,6 @@ pm8xxx_get_channel(struct pm8xxx_xoadc *adc, u8 chan)
>  		if (ch->hwchan->amux_channel == chan)
>  			break;
>  	}
> -	if (i == adc->nchans)
> -		return NULL;
>  
>  	return ch;
>  }

Patch
diff mbox series

diff --git a/drivers/iio/adc/qcom-pm8xxx-xoadc.c b/drivers/iio/adc/qcom-pm8xxx-xoadc.c
index c30c002f1fef..7939238001c8 100644
--- a/drivers/iio/adc/qcom-pm8xxx-xoadc.c
+++ b/drivers/iio/adc/qcom-pm8xxx-xoadc.c
@@ -423,7 +423,7 @@  static irqreturn_t pm8xxx_eoc_irq(int irq, void *d)
 static struct pm8xxx_chan_info *
 pm8xxx_get_channel(struct pm8xxx_xoadc *adc, u8 chan)
 {
-	struct pm8xxx_chan_info *ch;
+	struct pm8xxx_chan_info *ch = NULL;
 	int i;
 
 	for (i = 0; i < adc->nchans; i++) {
@@ -431,8 +431,6 @@  pm8xxx_get_channel(struct pm8xxx_xoadc *adc, u8 chan)
 		if (ch->hwchan->amux_channel == chan)
 			break;
 	}
-	if (i == adc->nchans)
-		return NULL;
 
 	return ch;
 }