From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Cameron Subject: Re: [PATCH] iio: adc: fix uninitialized variable warning Date: Sat, 9 Mar 2019 18:10:29 +0000 Message-ID: <20190309181029.5bd79468@archlinux> References: <20190304200317.1229196-1-arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20190304200317.1229196-1-arnd@arndb.de> Sender: linux-kernel-owner@vger.kernel.org To: Arnd Bergmann Cc: Andy Gross , David Brown , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , linux-arm-msm@vger.kernel.org, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org On Mon, 4 Mar 2019 21:03:07 +0100 Arnd Bergmann 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 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; > }