Commit 41fd935b authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Greg Kroah-Hartman

staging:iio: Add IIO_CHAN_INFO_RAW entries to the dummy driver

Precursor to making value read / write attribute optional.
No processed values in resolvers at the moment.
Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Acked-by: default avatarJonathan Cameron <jic23@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e33e0750
...@@ -72,6 +72,12 @@ static struct iio_chan_spec iio_dummy_channels[] = { ...@@ -72,6 +72,12 @@ static struct iio_chan_spec iio_dummy_channels[] = {
.channel = 0, .channel = 0,
/* What other information is available? */ /* What other information is available? */
.info_mask = .info_mask =
/*
* in_voltage0_raw
* Raw (unscaled no bias removal etc) measurement
* from the device.
*/
IIO_CHAN_INFO_RAW_SEPARATE_BIT |
/* /*
* in_voltage0_offset * in_voltage0_offset
* Offset for userspace to apply prior to scale * Offset for userspace to apply prior to scale
...@@ -113,6 +119,12 @@ static struct iio_chan_spec iio_dummy_channels[] = { ...@@ -113,6 +119,12 @@ static struct iio_chan_spec iio_dummy_channels[] = {
.channel = 1, .channel = 1,
.channel2 = 2, .channel2 = 2,
.info_mask = .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 * in_voltage-voltage_scale
* Shared version of scale - shared by differential * Shared version of scale - shared by differential
...@@ -135,6 +147,7 @@ static struct iio_chan_spec iio_dummy_channels[] = { ...@@ -135,6 +147,7 @@ static struct iio_chan_spec iio_dummy_channels[] = {
.channel = 3, .channel = 3,
.channel2 = 4, .channel2 = 4,
.info_mask = .info_mask =
IIO_CHAN_INFO_RAW_SEPARATE_BIT |
IIO_CHAN_INFO_SCALE_SHARED_BIT, IIO_CHAN_INFO_SCALE_SHARED_BIT,
.scan_index = diffvoltage3m4, .scan_index = diffvoltage3m4,
.scan_type = { .scan_type = {
...@@ -154,6 +167,7 @@ static struct iio_chan_spec iio_dummy_channels[] = { ...@@ -154,6 +167,7 @@ static struct iio_chan_spec iio_dummy_channels[] = {
/* Channel 2 is use for modifiers */ /* Channel 2 is use for modifiers */
.channel2 = IIO_MOD_X, .channel2 = IIO_MOD_X,
.info_mask = .info_mask =
IIO_CHAN_INFO_RAW_SEPARATE_BIT |
/* /*
* Internal bias correction value. Applied * Internal bias correction value. Applied
* by the hardware or driver prior to userspace * by the hardware or driver prior to userspace
...@@ -177,6 +191,7 @@ static struct iio_chan_spec iio_dummy_channels[] = { ...@@ -177,6 +191,7 @@ static struct iio_chan_spec iio_dummy_channels[] = {
/* DAC channel out_voltage0_raw */ /* DAC channel out_voltage0_raw */
{ {
.type = IIO_VOLTAGE, .type = IIO_VOLTAGE,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.output = 1, .output = 1,
.indexed = 1, .indexed = 1,
.channel = 0, .channel = 0,
...@@ -203,7 +218,7 @@ static int iio_dummy_read_raw(struct iio_dev *indio_dev, ...@@ -203,7 +218,7 @@ static int iio_dummy_read_raw(struct iio_dev *indio_dev,
mutex_lock(&st->lock); mutex_lock(&st->lock);
switch (mask) { switch (mask) {
case 0: /* magic value - channel value read */ case IIO_CHAN_INFO_RAW: /* magic value - channel value read */
switch (chan->type) { switch (chan->type) {
case IIO_VOLTAGE: case IIO_VOLTAGE:
if (chan->output) { if (chan->output) {
...@@ -290,7 +305,7 @@ static int iio_dummy_write_raw(struct iio_dev *indio_dev, ...@@ -290,7 +305,7 @@ static int iio_dummy_write_raw(struct iio_dev *indio_dev,
struct iio_dummy_state *st = iio_priv(indio_dev); struct iio_dummy_state *st = iio_priv(indio_dev);
switch (mask) { switch (mask) {
case 0: case IIO_CHAN_INFO_RAW:
if (chan->output == 0) if (chan->output == 0)
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment