Staging: iio: max517.c: Fix client obtainment by using iio_dev_get_devdata()
authorRoland Stigge <stigge@antcom.de>
Sat, 29 Jan 2011 15:36:46 +0000 (16:36 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 31 Jan 2011 22:12:18 +0000 (14:12 -0800)
max517.c: Fix client obtainment by using iio_dev_get_devdata()

This patch uses dev_get_drvdata() and iio_dev_get_devdata() instead of
to_i2c_client() (broken!) to obtain i2c_client data.

Further, some minor typo fixes are included.

Signed-off-by: Roland Stigge <stigge@antcom.de>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/iio/dac/max517.c

index 4974e70f66a083ee7c3d2214f6d036becaaceb78..7071f713604a2ebab231f36d3aa9c9e2636580bc 100644 (file)
@@ -45,6 +45,7 @@ enum max517_device_ids {
 
 struct max517_data {
        struct iio_dev          *indio_dev;
+       struct i2c_client       *client;
        unsigned short          vref_mv[2];
 };
 
@@ -57,7 +58,9 @@ static ssize_t max517_set_value(struct device *dev,
                                 struct device_attribute *attr,
                                 const char *buf, size_t count, int channel)
 {
-       struct i2c_client *client = to_i2c_client(dev);
+       struct iio_dev *dev_info = dev_get_drvdata(dev);
+       struct max517_data *data = iio_dev_get_devdata(dev_info);
+       struct i2c_client *client = data->client;
        u8 outbuf[4]; /* 1x or 2x command + value */
        int outbuf_size = 0;
        int res;
@@ -147,7 +150,7 @@ static ssize_t max517_show_scale2(struct device *dev,
 }
 static IIO_DEVICE_ATTR(out2_scale, S_IRUGO, max517_show_scale2, NULL, 0);
 
-/* On MAX517 variant, we have two outputs */
+/* On MAX517 variant, we have one output */
 static struct attribute *max517_attributes[] = {
        &iio_dev_attr_out1_raw.dev_attr.attr,
        &iio_dev_attr_out1_scale.dev_attr.attr,
@@ -158,7 +161,7 @@ static struct attribute_group max517_attribute_group = {
        .attrs = max517_attributes,
 };
 
-/* On MAX518 and MAX518 variant, we have two outputs */
+/* On MAX518 and MAX519 variant, we have two outputs */
 static struct attribute *max518_attributes[] = {
        &iio_dev_attr_out1_raw.dev_attr.attr,
        &iio_dev_attr_out1_scale.dev_attr.attr,
@@ -201,6 +204,8 @@ static int max517_probe(struct i2c_client *client,
 
        i2c_set_clientdata(client, data);
 
+       data->client = client;
+
        data->indio_dev = iio_allocate_device();
        if (data->indio_dev == NULL) {
                err = -ENOMEM;