lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 28 Sep 2013 11:42:43 +0100
From:	Jonathan Cameron <jic23@...nel.org>
To:	Lars-Peter Clausen <lars@...afoo.de>
CC:	Mark Brown <broonie@...nel.org>, Jean Delvare <khali@...ux-fr.org>,
	Guenter Roeck <linux@...ck-us.net>, lm-sensors@...sensors.org,
	linux-kernel@...r.kernel.org, linux-iio@...r.kernel.org,
	linux-spi@...r.kernel.org
Subject: Re: [PATCH 3/3] staging:iio:ade7753/ade7754/ade7759: Use spi_w8r16be()
 instead of spi_w8r16()

On 09/27/13 15:34, Lars-Peter Clausen wrote:
> Using spi_w8r16be() will do the conversion of the result from big endian to
> native endian in the helper function. This makes the code a bit smaller and also
> keeps sparse happy. Fixes the following sparse warnings:
> 
> 	drivers/staging/iio/meter/ade7753.c:97:29: warning: incorrect type in argument 1 (different base types)
> 	drivers/staging/iio/meter/ade7753.c:97:29:    expected restricted __be16 const [usertype] *p
> 	drivers/staging/iio/meter/ade7753.c:97:29:    got unsigned short [usertype] *val
> 
> 	drivers/staging/iio/meter/ade7754.c:97:29: warning: incorrect type in argument 1 (different base types)
> 	drivers/staging/iio/meter/ade7754.c:97:29:    expected restricted __be16 const [usertype] *p
> 	drivers/staging/iio/meter/ade7754.c:97:29:    got unsigned short [usertype] *val
> 
> 	drivers/staging/iio/meter/ade7759.c:97:29: warning: incorrect type in argument 1 (different base types)
> 	drivers/staging/iio/meter/ade7759.c:97:29:    expected restricted __be16 const [usertype] *p
> 	drivers/staging/iio/meter/ade7759.c:97:29:    got unsigned short [usertype] *val
> 
> Signed-off-by: Lars-Peter Clausen <lars@...afoo.de>
Acked-by: Jonathan Cameron <jic23@...nel.org>

I'm also fine with the various alternative suggestions elsewhere in this thread.
> ---
>  drivers/staging/iio/meter/ade7753.c | 3 +--
>  drivers/staging/iio/meter/ade7754.c | 3 +--
>  drivers/staging/iio/meter/ade7759.c | 3 +--
>  3 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/staging/iio/meter/ade7753.c b/drivers/staging/iio/meter/ade7753.c
> index 6200335..00492ca 100644
> --- a/drivers/staging/iio/meter/ade7753.c
> +++ b/drivers/staging/iio/meter/ade7753.c
> @@ -86,7 +86,7 @@ static int ade7753_spi_read_reg_16(struct device *dev,
>  	struct ade7753_state *st = iio_priv(indio_dev);
>  	ssize_t ret;
>  
> -	ret = spi_w8r16(st->us, ADE7753_READ_REG(reg_address));
> +	ret = spi_w8r16be(st->us, ADE7753_READ_REG(reg_address));
>  	if (ret < 0) {
>  		dev_err(&st->us->dev, "problem when reading 16 bit register 0x%02X",
>  			reg_address);
> @@ -94,7 +94,6 @@ static int ade7753_spi_read_reg_16(struct device *dev,
>  	}
>  
>  	*val = ret;
> -	*val = be16_to_cpup(val);
>  
>  	return 0;
>  }
> diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c
> index 2e046f6..e0aa13a 100644
> --- a/drivers/staging/iio/meter/ade7754.c
> +++ b/drivers/staging/iio/meter/ade7754.c
> @@ -86,7 +86,7 @@ static int ade7754_spi_read_reg_16(struct device *dev,
>  	struct ade7754_state *st = iio_priv(indio_dev);
>  	int ret;
>  
> -	ret = spi_w8r16(st->us, ADE7754_READ_REG(reg_address));
> +	ret = spi_w8r16be(st->us, ADE7754_READ_REG(reg_address));
>  	if (ret < 0) {
>  		dev_err(&st->us->dev, "problem when reading 16 bit register 0x%02X",
>  			reg_address);
> @@ -94,7 +94,6 @@ static int ade7754_spi_read_reg_16(struct device *dev,
>  	}
>  
>  	*val = ret;
> -	*val = be16_to_cpup(val);
>  
>  	return 0;
>  }
> diff --git a/drivers/staging/iio/meter/ade7759.c b/drivers/staging/iio/meter/ade7759.c
> index 145f896..ea0c9de 100644
> --- a/drivers/staging/iio/meter/ade7759.c
> +++ b/drivers/staging/iio/meter/ade7759.c
> @@ -86,7 +86,7 @@ static int ade7759_spi_read_reg_16(struct device *dev,
>  	struct ade7759_state *st = iio_priv(indio_dev);
>  	int ret;
>  
> -	ret = spi_w8r16(st->us, ADE7759_READ_REG(reg_address));
> +	ret = spi_w8r16be(st->us, ADE7759_READ_REG(reg_address));
>  	if (ret < 0) {
>  		dev_err(&st->us->dev, "problem when reading 16 bit register 0x%02X",
>  			reg_address);
> @@ -94,7 +94,6 @@ static int ade7759_spi_read_reg_16(struct device *dev,
>  	}
>  
>  	*val = ret;
> -	*val = be16_to_cpup(val);
>  
>  	return 0;
>  }
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ