[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180825093055.2cee2159@archlinux>
Date: Sat, 25 Aug 2018 09:30:55 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Hartmut Knaack <knaack.h@....de>,
Lars-Peter Clausen <lars@...afoo.de>,
Peter Meerwald-Stadler <pmeerw@...erw.net>,
Mathieu Othacehe <m.othacehe@...il.com>,
Arnd Bergmann <arnd@...db.de>, linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] iio: light: isl29501: Simplify code to kill compiler
warning
On Thu, 23 Aug 2018 23:24:35 +0200
Geert Uytterhoeven <geert@...ux-m68k.org> 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@...ux-m68k.org>
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);
Powered by blists - more mailing lists