iio:ti-ads1015: fix a wrong pointer definition.
authorGiorgio Dal Molin <giorgio.nicole@arcor.de>
Tue, 16 Aug 2016 18:43:37 +0000 (20:43 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sun, 21 Aug 2016 10:00:45 +0000 (11:00 +0100)
The call to i2c_get_clientdata(client) returns a struct iio_dev*, not
the needed struct ads1015_data*. We need here an intermediate step as
in the function: void ads1015_get_channels_config(struct i2c_client *client).

Signed-off-by: Giorgio Dal Molin <giorgio.nicole@arcor.de>
Fixes: ecc24e72f437 ("iio: adc: Add TI ADS1015 ADC driver support")
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/ti-ads1015.c

index 1ef398770a1f2c2dcbc760f911b5064ea4950954..066abaf8020157f2f247dc27d4ce55aec84a362d 100644 (file)
@@ -489,7 +489,8 @@ static struct iio_info ads1115_info = {
 #ifdef CONFIG_OF
 static int ads1015_get_channels_config_of(struct i2c_client *client)
 {
-       struct ads1015_data *data = i2c_get_clientdata(client);
+       struct iio_dev *indio_dev = i2c_get_clientdata(client);
+       struct ads1015_data *data = iio_priv(indio_dev);
        struct device_node *node;
 
        if (!client->dev.of_node ||