iio: Fix tcs3472 dev-to-indio_dev conversion in suspend/resume
authorPeter Meerwald <pmeerw@pmeerw.net>
Wed, 18 Sep 2013 21:47:00 +0000 (22:47 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 21 Sep 2013 18:23:47 +0000 (19:23 +0100)
dev_to_iio_dev() is a false friend

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/light/tcs3472.c

index 7bf2969..0b4ed57 100644 (file)
@@ -330,12 +330,15 @@ static int tcs3472_remove(struct i2c_client *client)
 #ifdef CONFIG_PM_SLEEP
 static int tcs3472_suspend(struct device *dev)
 {
-       return tcs3472_powerdown(iio_priv(dev_to_iio_dev(dev)));
+       struct tcs3472_data *data = iio_priv(i2c_get_clientdata(
+               to_i2c_client(dev)));
+       return tcs3472_powerdown(data);
 }
 
 static int tcs3472_resume(struct device *dev)
 {
-       struct tcs3472_data *data = iio_priv(dev_to_iio_dev(dev));
+       struct tcs3472_data *data = iio_priv(i2c_get_clientdata(
+               to_i2c_client(dev)));
        return i2c_smbus_write_byte_data(data->client, TCS3472_ENABLE,
                data->enable | (TCS3472_ENABLE_AEN | TCS3472_ENABLE_PON));
 }