]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/staging/iio/magnetometer/ak8975.c
Merge 3.4-rc5 into staging-next
[mirror_ubuntu-artful-kernel.git] / drivers / staging / iio / magnetometer / ak8975.c
index ea2f91859ce4037b33cd69275906655c533667e3..93026c5444650cdc26d5c3c927345822cfeb6687 100644 (file)
@@ -108,7 +108,8 @@ static const int ak8975_index_to_reg[] = {
 static int ak8975_write_data(struct i2c_client *client,
                             u8 reg, u8 val, u8 mask, u8 shift)
 {
-       struct ak8975_data *data = i2c_get_clientdata(client);
+       struct iio_dev *indio_dev = i2c_get_clientdata(client);
+       struct ak8975_data *data = iio_priv(indio_dev);
        u8 regval;
        int ret;
 
@@ -159,7 +160,8 @@ static int ak8975_read_data(struct i2c_client *client,
  */
 static int ak8975_setup(struct i2c_client *client)
 {
-       struct ak8975_data *data = i2c_get_clientdata(client);
+       struct iio_dev *indio_dev = i2c_get_clientdata(client);
+       struct ak8975_data *data = iio_priv(indio_dev);
        u8 device_id;
        int ret;
 
@@ -510,6 +512,7 @@ static int ak8975_probe(struct i2c_client *client,
                goto exit_gpio;
        }
        data = iio_priv(indio_dev);
+       i2c_set_clientdata(client, indio_dev);
        /* Perform some basic start-of-day setup of the device. */
        err = ak8975_setup(client);
        if (err < 0) {
@@ -517,7 +520,6 @@ static int ak8975_probe(struct i2c_client *client,
                goto exit_free_iio;
        }
 
-       i2c_set_clientdata(client, indio_dev);
        data->client = client;
        mutex_init(&data->lock);
        data->eoc_irq = client->irq;