Skip to contentSkip to conversation

Staging: iio: Fix sparse warnings

PATCH New Ksenija Stanojevic 1 participant 3 messages Oct 27, 2015

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

cover Staging: iio: Fix sparse warnings

Fix sparse warnings regarding cast to restricted __be16 in iio drivers.

Ksenija Stanojevic (2):
Staging: iio: impedance-analyzer: Fix sparse warning
Staging: iio: adc: Fix sparse warning

 drivers/staging/iio/adc/ad7816.c                |  5 +++--
 drivers/staging/iio/impedance-analyzer/ad5933.c | 11 ++++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/2 Staging: iio: impedance-analyzer: Fix sparse warning

Fix following sparse endian warning:

drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:671:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:672:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:674:34: warning: cast to restricted __be16

---
 drivers/staging/iio/impedance-analyzer/ad5933.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
drivers/staging/iio/impedance-analyzer/ad5933.c +6 -5
index c18109c..10c43dda 100644
@@ -644,7 +644,8 @@ static void ad5933_work(struct work_struct *work)
 	struct ad5933_state *st = container_of(work,
 		struct ad5933_state, work.work);
 	struct iio_dev *indio_dev = i2c_get_clientdata(st->client);
-	signed short buf[2];
+	__be16 buf[2];
+	int val[2];
 	unsigned char status;
 
 	mutex_lock(&indio_dev->mlock);
@@ -668,12 +669,12 @@ static void ad5933_work(struct work_struct *work)
 				scan_count * 2, (u8 *)buf);
 
 		if (scan_count == 2) {
-			buf[0] = be16_to_cpu(buf[0]);
-			buf[1] = be16_to_cpu(buf[1]);
+			val[0] = be16_to_cpu(buf[0]);
+			val[1] = be16_to_cpu(buf[1]);
 		} else {
-			buf[0] = be16_to_cpu(buf[0]);
+			val[0] = be16_to_cpu(buf[0]);
 		}
-		iio_push_to_buffers(indio_dev, buf);
+		iio_push_to_buffers(indio_dev, val);
 	} else {
 		/* no data available - try again later */
 		schedule_delayed_work(&st->work, st->poll_time_jiffies);
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/2 Staging: iio: adc: Fix sparse warning

In reply to Ksenija Stanojevic

Fix following sparse endianness problems:

CHECK drivers/staging/iio/adc/ad7816.c
drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16
drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16
drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16
drivers/staging/iio/adc/ad7816.c:91:17: warning: cast to restricted __be16

---
 drivers/staging/iio/adc/ad7816.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/staging/iio/adc/ad7816.c +3 -2
index b3dec706..ccec57c 100644
@@ -59,6 +59,7 @@ static int ad7816_spi_read(struct ad7816_chip_info *chip, u16 *data)
 {
 	struct spi_device *spi_dev = chip->spi_dev;
 	int ret = 0;
+	__be16 buf;
 
 	gpio_set_value(chip->rdwr_pin, 1);
 	gpio_set_value(chip->rdwr_pin, 0);
@@ -82,13 +83,13 @@ static int ad7816_spi_read(struct ad7816_chip_info *chip, u16 *data)
 
 	gpio_set_value(chip->rdwr_pin, 0);
 	gpio_set_value(chip->rdwr_pin, 1);
-	ret = spi_read(spi_dev, (u8 *)data, sizeof(*data));
+	ret = spi_read(spi_dev, &buf, sizeof(*data));
 	if (ret < 0) {
 		dev_err(&spi_dev->dev, "SPI data read error\n");
 		return ret;
 	}
 
-	*data = be16_to_cpu(*data);
+	*data = be16_to_cpu(buf);
 
 	return ret;
 }
Signature · 1 line
1.9.1