On Mon, 4 Mar 2019 21:03:07 +0100 Arnd Bergmann <arnd@xxxxxxxx> 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@xxxxxxxx> 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; > }