Commit 6a63aa0a authored by Jonathan Cameron's avatar Jonathan Cameron

staging:iio: dummy driver additions to show shared_by_dir infomask usage

Note that as this driver has output as well as output channels an
example of info_mask_shared_by_all that makes any sense does not exist.
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
Reviewed-by: default avatarLars-Peter Clausen <lars@metafoo.de>
parent c006ec83
...@@ -90,6 +90,11 @@ static const struct iio_chan_spec iio_dummy_channels[] = { ...@@ -90,6 +90,11 @@ static const struct iio_chan_spec iio_dummy_channels[] = {
* when converting to standard units (microvolts) * when converting to standard units (microvolts)
*/ */
BIT(IIO_CHAN_INFO_SCALE), BIT(IIO_CHAN_INFO_SCALE),
/*
* sampling_frequency
* The frequency in Hz at which the channels are sampled
*/
.info_mask_shared_by_dir = BIT(IIO_CHAN_INFO_SAMP_FREQ),
/* The ordering of elements in the buffer via an enum */ /* The ordering of elements in the buffer via an enum */
.scan_index = voltage0, .scan_index = voltage0,
.scan_type = { /* Description of storage in buffer */ .scan_type = { /* Description of storage in buffer */
...@@ -130,6 +135,10 @@ static const struct iio_chan_spec iio_dummy_channels[] = { ...@@ -130,6 +135,10 @@ static const struct iio_chan_spec iio_dummy_channels[] = {
* input channels of type IIO_VOLTAGE. * input channels of type IIO_VOLTAGE.
*/ */
.info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE),
/*
* sampling_frequency
* The frequency in Hz at which the channels are sampled
*/
.scan_index = diffvoltage1m2, .scan_index = diffvoltage1m2,
.scan_type = { /* Description of storage in buffer */ .scan_type = { /* Description of storage in buffer */
.sign = 's', /* signed */ .sign = 's', /* signed */
...@@ -147,6 +156,7 @@ static const struct iio_chan_spec iio_dummy_channels[] = { ...@@ -147,6 +156,7 @@ static const struct iio_chan_spec iio_dummy_channels[] = {
.channel2 = 4, .channel2 = 4,
.info_mask_separate = BIT(IIO_CHAN_INFO_RAW), .info_mask_separate = BIT(IIO_CHAN_INFO_RAW),
.info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE),
.info_mask_shared_by_dir = BIT(IIO_CHAN_INFO_SAMP_FREQ),
.scan_index = diffvoltage3m4, .scan_index = diffvoltage3m4,
.scan_type = { .scan_type = {
.sign = 's', .sign = 's',
...@@ -173,6 +183,7 @@ static const struct iio_chan_spec iio_dummy_channels[] = { ...@@ -173,6 +183,7 @@ static const struct iio_chan_spec iio_dummy_channels[] = {
*/ */
BIT(IIO_CHAN_INFO_CALIBSCALE) | BIT(IIO_CHAN_INFO_CALIBSCALE) |
BIT(IIO_CHAN_INFO_CALIBBIAS), BIT(IIO_CHAN_INFO_CALIBBIAS),
.info_mask_shared_by_dir = BIT(IIO_CHAN_INFO_SAMP_FREQ),
.scan_index = accelx, .scan_index = accelx,
.scan_type = { /* Description of storage in buffer */ .scan_type = { /* Description of storage in buffer */
.sign = 's', /* signed */ .sign = 's', /* signed */
...@@ -272,6 +283,11 @@ static int iio_dummy_read_raw(struct iio_dev *indio_dev, ...@@ -272,6 +283,11 @@ static int iio_dummy_read_raw(struct iio_dev *indio_dev,
*val2 = st->accel_calibscale->val2; *val2 = st->accel_calibscale->val2;
ret = IIO_VAL_INT_PLUS_MICRO; ret = IIO_VAL_INT_PLUS_MICRO;
break; break;
case IIO_CHAN_INFO_SAMP_FREQ:
*val = 3;
*val2 = 33;
ret = IIO_VAL_INT_PLUS_NANO;
break;
default: default:
break; break;
} }
......
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