]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/staging/iio/magnetometer/hmc5843.c
Merge 3.4-rc5 into staging-next
[karo-tx-linux.git] / drivers / staging / iio / magnetometer / hmc5843.c
index e00b416c4d331a428b1c7b8c0a799174fa96b33b..3ec65180b815fbb096052dc02bc4d522866a3c22 100644 (file)
@@ -22,8 +22,8 @@
 #include <linux/i2c.h>
 #include <linux/slab.h>
 #include <linux/types.h>
-#include "../iio.h"
-#include "../sysfs.h"
+#include <linux/iio/iio.h>
+#include <linux/iio/sysfs.h>
 
 #define HMC5843_I2C_ADDRESS                    0x1E
 
@@ -459,7 +459,7 @@ static int hmc5843_read_raw(struct iio_dev *indio_dev,
        struct hmc5843_data *data = iio_priv(indio_dev);
 
        switch (mask) {
-       case 0:
+       case IIO_CHAN_INFO_RAW:
                return hmc5843_read_measurement(indio_dev,
                                                chan->address,
                                                val);
@@ -476,7 +476,8 @@ static int hmc5843_read_raw(struct iio_dev *indio_dev,
                .type = IIO_MAGN,                                       \
                .modified = 1,                                          \
                .channel2 = IIO_MOD_##axis,                             \
-               .info_mask = IIO_CHAN_INFO_SCALE_SHARED_BIT,            \
+               .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT |           \
+                            IIO_CHAN_INFO_SCALE_SHARED_BIT,            \
                .address = add                                          \
        }
 
@@ -545,7 +546,7 @@ static int hmc5843_probe(struct i2c_client *client,
        struct iio_dev *indio_dev;
        int err = 0;
 
-       indio_dev = iio_allocate_device(sizeof(*data));
+       indio_dev = iio_device_alloc(sizeof(*data));
        if (indio_dev == NULL) {
                err = -ENOMEM;
                goto exit;
@@ -573,7 +574,7 @@ static int hmc5843_probe(struct i2c_client *client,
                goto exit_free2;
        return 0;
 exit_free2:
-       iio_free_device(indio_dev);
+       iio_device_free(indio_dev);
 exit:
        return err;
 }
@@ -585,7 +586,7 @@ static int hmc5843_remove(struct i2c_client *client)
        iio_device_unregister(indio_dev);
         /*  sleep mode to save power */
        hmc5843_configure(client, MODE_SLEEP);
-       iio_free_device(indio_dev);
+       iio_device_free(indio_dev);
 
        return 0;
 }