Browse Source

staging: iio: adc: ad799x: Address iio list feedback

Address feedback from Shubhrajyoti Datta:
	Cast return value
Michael Hennerich:
	Use i2c_smbus_read_byte_data()
	Fix return value check

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Michael Hennerich 14 năm trước cách đây
mục cha
commit
aecac19179
1 tập tin đã thay đổi với 5 bổ sung6 xóa
  1. 5 6
      drivers/staging/iio/adc/ad799x_core.c

+ 5 - 6
drivers/staging/iio/adc/ad799x_core.c

@@ -65,13 +65,13 @@ static int ad799x_i2c_read8(struct ad799x_state *st, u8 reg, u8 *data)
 	struct i2c_client *client = st->client;
 	int ret = 0;
 
-	ret = i2c_smbus_read_word_data(client, reg);
+	ret = i2c_smbus_read_byte_data(client, reg);
 	if (ret < 0) {
 		dev_err(&client->dev, "I2C read error\n");
 		return ret;
 	}
 
-	*data = ret;
+	*data = (u8)ret;
 
 	return 0;
 }
@@ -182,11 +182,10 @@ static ssize_t ad799x_read_single_channel(struct device *dev,
 	mask = 1 << this_attr->address;
 	/* If ring buffer capture is occuring, query the buffer */
 	if (iio_ring_enabled(dev_info)) {
-		data = ad799x_single_channel_from_ring(st, mask);
-		if (data < 0) {
-			ret = data;
+		data = ret = ad799x_single_channel_from_ring(st, mask);
+		if (ret < 0)
 			goto error_ret;
-		}
+		ret = 0;
 	} else {
 		switch (st->id) {
 		case ad7991: