]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging:iio: Add IIO_CHAN_INFO_RAW entries to the dummy driver
authorLars-Peter Clausen <lars@metafoo.de>
Sun, 15 Apr 2012 16:41:27 +0000 (17:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Apr 2012 23:38:21 +0000 (16:38 -0700)
Precursor to making value read / write attribute optional.
No processed values in resolvers at the moment.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/iio/iio_simple_dummy.c

index e3a94572bb40e27296530b5d3b4d789e47095a14..dbeb04c70f0fe3e1c950bffe612a227680ff74f7 100644 (file)
@@ -72,6 +72,12 @@ static struct iio_chan_spec iio_dummy_channels[] = {
                .channel = 0,
                /* What other information is available? */
                .info_mask =
+               /*
+                * in_voltage0_raw
+                * Raw (unscaled no bias removal etc) measurement
+                * from the device.
+                */
+               IIO_CHAN_INFO_RAW_SEPARATE_BIT |
                /*
                 * in_voltage0_offset
                 * Offset for userspace to apply prior to scale
@@ -113,6 +119,12 @@ static struct iio_chan_spec iio_dummy_channels[] = {
                .channel = 1,
                .channel2 = 2,
                .info_mask =
+               /*
+                * in_voltage1-voltage2_raw
+                * Raw (unscaled no bias removal etc) measurement
+                * from the device.
+                */
+               IIO_CHAN_INFO_RAW_SEPARATE_BIT |
                /*
                 * in_voltage-voltage_scale
                 * Shared version of scale - shared by differential
@@ -135,6 +147,7 @@ static struct iio_chan_spec iio_dummy_channels[] = {
                .channel = 3,
                .channel2 = 4,
                .info_mask =
+               IIO_CHAN_INFO_RAW_SEPARATE_BIT |
                IIO_CHAN_INFO_SCALE_SHARED_BIT,
                .scan_index = diffvoltage3m4,
                .scan_type = {
@@ -154,6 +167,7 @@ static struct iio_chan_spec iio_dummy_channels[] = {
                /* Channel 2 is use for modifiers */
                .channel2 = IIO_MOD_X,
                .info_mask =
+               IIO_CHAN_INFO_RAW_SEPARATE_BIT |
                /*
                 * Internal bias correction value. Applied
                 * by the hardware or driver prior to userspace
@@ -177,6 +191,7 @@ static struct iio_chan_spec iio_dummy_channels[] = {
        /* DAC channel out_voltage0_raw */
        {
                .type = IIO_VOLTAGE,
+               .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
                .output = 1,
                .indexed = 1,
                .channel = 0,
@@ -203,7 +218,7 @@ static int iio_dummy_read_raw(struct iio_dev *indio_dev,
 
        mutex_lock(&st->lock);
        switch (mask) {
-       case 0: /* magic value - channel value read */
+       case IIO_CHAN_INFO_RAW: /* magic value - channel value read */
                switch (chan->type) {
                case IIO_VOLTAGE:
                        if (chan->output) {
@@ -290,7 +305,7 @@ static int iio_dummy_write_raw(struct iio_dev *indio_dev,
        struct iio_dummy_state *st = iio_priv(indio_dev);
 
        switch (mask) {
-       case 0:
+       case IIO_CHAN_INFO_RAW:
                if (chan->output == 0)
                        return -EINVAL;