Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+16 −0
Original line number Original line Diff line number Diff line
@@ -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;
	}
	}