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: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>hifive-unleashed-5.1
parent
e33e075082
commit
41fd935b18
|
@ -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[] = {
|
||||||
.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[] = {
|
||||||
.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[] = {
|
||||||
/* 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[] = {
|
||||||
/* 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,
|
||||||
|
|
||||||
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,
|
||||||
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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue