2016-03-23 11:06:52

by Ksenija Stanojevic

[permalink] [raw]
Subject: [PATCH] Staging: iio: Fix sparse endian warning

Fix following sparse warning:
warning: cast to restricted __be16

Signed-off-by: Ksenija Stanojevic <[email protected]>
---
drivers/staging/iio/adc/ad7606_spi.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/iio/adc/ad7606_spi.c b/drivers/staging/iio/adc/ad7606_spi.c
index d873a51..825da07 100644
--- a/drivers/staging/iio/adc/ad7606_spi.c
+++ b/drivers/staging/iio/adc/ad7606_spi.c
@@ -21,7 +21,8 @@ static int ad7606_spi_read_block(struct device *dev,
{
struct spi_device *spi = to_spi_device(dev);
int i, ret;
- unsigned short *data = buf;
+ unsigned short *data;
+ __be16 *bdata = buf;

ret = spi_read(spi, buf, count * 2);
if (ret < 0) {
@@ -30,7 +31,7 @@ static int ad7606_spi_read_block(struct device *dev,
}

for (i = 0; i < count; i++)
- data[i] = be16_to_cpu(data[i]);
+ data[i] = be16_to_cpu(bdata[i]);

return 0;
}
--
1.9.1


2016-03-28 14:37:59

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] Staging: iio: Fix sparse endian warning

On 23/03/16 11:06, Ksenija Stanojevic wrote:
> Fix following sparse warning:
> warning: cast to restricted __be16
>
> Signed-off-by: Ksenija Stanojevic <[email protected]>
Subject amended to include the driver name. I do tend to let some through
without whilst being lazy, but it really should give a hint of the scope
of the patch. I'll be more vigorous about this in future!

Applied to the togreg branch of iio.git, initially pushed out as staging
for the autobuilders to play with it.

Thanks,

Jonathan
> ---
> drivers/staging/iio/adc/ad7606_spi.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/iio/adc/ad7606_spi.c b/drivers/staging/iio/adc/ad7606_spi.c
> index d873a51..825da07 100644
> --- a/drivers/staging/iio/adc/ad7606_spi.c
> +++ b/drivers/staging/iio/adc/ad7606_spi.c
> @@ -21,7 +21,8 @@ static int ad7606_spi_read_block(struct device *dev,
> {
> struct spi_device *spi = to_spi_device(dev);
> int i, ret;
> - unsigned short *data = buf;
> + unsigned short *data;
> + __be16 *bdata = buf;
>
> ret = spi_read(spi, buf, count * 2);
> if (ret < 0) {
> @@ -30,7 +31,7 @@ static int ad7606_spi_read_block(struct device *dev,
> }
>
> for (i = 0; i < count; i++)
> - data[i] = be16_to_cpu(data[i]);
> + data[i] = be16_to_cpu(bdata[i]);
>
> return 0;
> }
>