On Thu, 23 Aug 2018 23:24:35 +0200 Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > With gcc 4.1.2: > > drivers/iio/proximity/isl29501.c: In function ‘isl29501_register_write’: > drivers/iio/proximity/isl29501.c:235: warning: ‘msb’ may be used uninitialized in this function > > While this is a false positive, it can easily be avoided by removing the > "msb" intermediate variable. > Remove the "lsb" intermediate variable for consistency. > > Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Looks sensible to me, but I'd obviously like to leave a little time for Mathieu to comment as it's his driver. Jonathan > --- > Compile-tested only. > --- > drivers/iio/proximity/isl29501.c | 12 ++---------- > 1 file changed, 2 insertions(+), 10 deletions(-) > > diff --git a/drivers/iio/proximity/isl29501.c b/drivers/iio/proximity/isl29501.c > index e5e94540f404dd2c..5ae549075b27c50d 100644 > --- a/drivers/iio/proximity/isl29501.c > +++ b/drivers/iio/proximity/isl29501.c > @@ -232,7 +232,6 @@ static u32 isl29501_register_write(struct isl29501_private *isl29501, > u32 value) > { > const struct isl29501_register_desc *reg = &isl29501_registers[name]; > - u8 msb, lsb; > int ret; > > if (!reg->msb && value > U8_MAX) > @@ -241,22 +240,15 @@ static u32 isl29501_register_write(struct isl29501_private *isl29501, > if (value > U16_MAX) > return -ERANGE; > > - if (!reg->msb) { > - lsb = value & 0xFF; > - } else { > - msb = (value >> 8) & 0xFF; > - lsb = value & 0xFF; > - } > - > mutex_lock(&isl29501->lock); > if (reg->msb) { > ret = i2c_smbus_write_byte_data(isl29501->client, > - reg->msb, msb); > + reg->msb, value >> 8); > if (ret < 0) > goto err; > } > > - ret = i2c_smbus_write_byte_data(isl29501->client, reg->lsb, lsb); > + ret = i2c_smbus_write_byte_data(isl29501->client, reg->lsb, value); > > err: > mutex_unlock(&isl29501->lock);