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: Jonathan Cameron <jic23@kernel.org> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>hifive-unleashed-5.1
parent
c006ec8384
commit
6a63aa0a09
|
@ -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[] = {
|
||||||
* 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[] = {
|
||||||
.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[] = {
|
||||||
*/
|
*/
|
||||||
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,
|
||||||
*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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue