]> Pileus Git - ~andy/linux/commitdiff
staging: iio: adc: ad799x: Address iio list feedback
authorMichael Hennerich <michael.hennerich@analog.com>
Wed, 6 Oct 2010 08:25:49 +0000 (10:25 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 6 Oct 2010 15:22:44 +0000 (08:22 -0700)
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>
drivers/staging/iio/adc/ad799x_core.c

index dca3f2ae6a143ddd1fdbb72ed2a976e6dfce8a33..25898563aae8dc3bf297e7276a8c95a774752c3b 100644 (file)
@@ -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: