staging:iio:gyro Add IIO_CHAN_INFO_RAW entries to all drivers.

Precursor to making value read / write attribute optional.
No processed values in gyroscopes.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jonathan Cameron 2012-04-15 17:41:20 +01:00 committed by Greg Kroah-Hartman
parent 09f4eb4046
commit fbaff213a3
5 changed files with 32 additions and 13 deletions

View file

@ -85,7 +85,7 @@ static int adis16060_read_raw(struct iio_dev *indio_dev,
int ret; int ret;
switch (mask) { switch (mask) {
case 0: case IIO_CHAN_INFO_RAW:
/* Take the iio_dev status lock */ /* Take the iio_dev status lock */
mutex_lock(&indio_dev->mlock); mutex_lock(&indio_dev->mlock);
ret = adis16060_spi_write(indio_dev, chan->address); ret = adis16060_spi_write(indio_dev, chan->address);
@ -120,22 +120,26 @@ static const struct iio_chan_spec adis16060_channels[] = {
.type = IIO_ANGL_VEL, .type = IIO_ANGL_VEL,
.modified = 1, .modified = 1,
.channel2 = IIO_MOD_Z, .channel2 = IIO_MOD_Z,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.address = ADIS16060_GYRO, .address = ADIS16060_GYRO,
}, { }, {
.type = IIO_VOLTAGE, .type = IIO_VOLTAGE,
.indexed = 1, .indexed = 1,
.channel = 0, .channel = 0,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.address = ADIS16060_AIN1, .address = ADIS16060_AIN1,
}, { }, {
.type = IIO_VOLTAGE, .type = IIO_VOLTAGE,
.indexed = 1, .indexed = 1,
.channel = 1, .channel = 1,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.address = ADIS16060_AIN2, .address = ADIS16060_AIN2,
}, { }, {
.type = IIO_TEMP, .type = IIO_TEMP,
.indexed = 1, .indexed = 1,
.channel = 0, .channel = 0,
.info_mask = IIO_CHAN_INFO_OFFSET_SEPARATE_BIT | .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT |
IIO_CHAN_INFO_OFFSET_SEPARATE_BIT |
IIO_CHAN_INFO_SCALE_SEPARATE_BIT, IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
.address = ADIS16060_TEMP_OUT, .address = ADIS16060_TEMP_OUT,
} }

View file

@ -87,7 +87,7 @@ static int adis16080_read_raw(struct iio_dev *indio_dev,
mutex_lock(&indio_dev->mlock); mutex_lock(&indio_dev->mlock);
switch (mask) { switch (mask) {
case 0: case IIO_CHAN_INFO_RAW:
ret = adis16080_spi_write(indio_dev, ret = adis16080_spi_write(indio_dev,
chan->address | chan->address |
ADIS16080_DIN_WRITE); ADIS16080_DIN_WRITE);
@ -110,21 +110,25 @@ static const struct iio_chan_spec adis16080_channels[] = {
.type = IIO_ANGL_VEL, .type = IIO_ANGL_VEL,
.modified = 1, .modified = 1,
.channel2 = IIO_MOD_Z, .channel2 = IIO_MOD_Z,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.address = ADIS16080_DIN_GYRO, .address = ADIS16080_DIN_GYRO,
}, { }, {
.type = IIO_VOLTAGE, .type = IIO_VOLTAGE,
.indexed = 1, .indexed = 1,
.channel = 0, .channel = 0,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.address = ADIS16080_DIN_AIN1, .address = ADIS16080_DIN_AIN1,
}, { }, {
.type = IIO_VOLTAGE, .type = IIO_VOLTAGE,
.indexed = 1, .indexed = 1,
.channel = 1, .channel = 1,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.address = ADIS16080_DIN_AIN2, .address = ADIS16080_DIN_AIN2,
}, { }, {
.type = IIO_TEMP, .type = IIO_TEMP,
.indexed = 1, .indexed = 1,
.channel = 0, .channel = 0,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.address = ADIS16080_DIN_TEMP, .address = ADIS16080_DIN_TEMP,
} }
}; };

View file

@ -100,11 +100,13 @@ static const struct iio_chan_spec adis16130_channels[] = {
.type = IIO_ANGL_VEL, .type = IIO_ANGL_VEL,
.modified = 1, .modified = 1,
.channel2 = IIO_MOD_Z, .channel2 = IIO_MOD_Z,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.address = ADIS16130_RATEDATA, .address = ADIS16130_RATEDATA,
}, { }, {
.type = IIO_TEMP, .type = IIO_TEMP,
.indexed = 1, .indexed = 1,
.channel = 0, .channel = 0,
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT,
.address = ADIS16130_TEMPDATA, .address = ADIS16130_TEMPDATA,
} }
}; };

View file

@ -393,7 +393,8 @@ enum adis16260_channel {
.type = IIO_ANGL_VEL, \ .type = IIO_ANGL_VEL, \
.modified = 1, \ .modified = 1, \
.channel2 = mod, \ .channel2 = mod, \
.info_mask = IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT | \ .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT | \
IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT | \
IIO_CHAN_INFO_CALIBSCALE_SEPARATE_BIT | \ IIO_CHAN_INFO_CALIBSCALE_SEPARATE_BIT | \
IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \ IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \
.address = gyro, \ .address = gyro, \
@ -407,6 +408,7 @@ enum adis16260_channel {
.type = IIO_ANGL, \ .type = IIO_ANGL, \
.modified = 1, \ .modified = 1, \
.channel2 = mod, \ .channel2 = mod, \
.info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT, \
.address = angle, \ .address = angle, \
.scan_index = ADIS16260_SCAN_ANGL, \ .scan_index = ADIS16260_SCAN_ANGL, \
.scan_type = { \ .scan_type = { \
@ -418,7 +420,8 @@ enum adis16260_channel {
.type = IIO_TEMP, \ .type = IIO_TEMP, \
.indexed = 1, \ .indexed = 1, \
.channel = 0, \ .channel = 0, \
.info_mask = IIO_CHAN_INFO_OFFSET_SEPARATE_BIT | \ .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT | \
IIO_CHAN_INFO_OFFSET_SEPARATE_BIT | \
IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \ IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \
.address = temp, \ .address = temp, \
.scan_index = ADIS16260_SCAN_TEMP, \ .scan_index = ADIS16260_SCAN_TEMP, \
@ -432,7 +435,8 @@ enum adis16260_channel {
.indexed = 1, \ .indexed = 1, \
.channel = 0, \ .channel = 0, \
.extend_name = "supply", \ .extend_name = "supply", \
.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \ .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT | \
IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \
.address = in_supply, \ .address = in_supply, \
.scan_index = ADIS16260_SCAN_SUPPLY, \ .scan_index = ADIS16260_SCAN_SUPPLY, \
.scan_type = { \ .scan_type = { \
@ -444,7 +448,8 @@ enum adis16260_channel {
.type = IIO_VOLTAGE, \ .type = IIO_VOLTAGE, \
.indexed = 1, \ .indexed = 1, \
.channel = 1, \ .channel = 1, \
.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \ .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT | \
IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \
.address = in_aux, \ .address = in_aux, \
.scan_index = ADIS16260_SCAN_AUX_ADC, \ .scan_index = ADIS16260_SCAN_AUX_ADC, \
.scan_type = { \ .scan_type = { \
@ -481,7 +486,7 @@ static int adis16260_read_raw(struct iio_dev *indio_dev,
s16 val16; s16 val16;
switch (mask) { switch (mask) {
case 0: case IIO_CHAN_INFO_RAW:
mutex_lock(&indio_dev->mlock); mutex_lock(&indio_dev->mlock);
addr = adis16260_addresses[chan->address][0]; addr = adis16260_addresses[chan->address][0];
ret = adis16260_spi_read_reg_16(indio_dev, addr, &val16); ret = adis16260_spi_read_reg_16(indio_dev, addr, &val16);

View file

@ -265,7 +265,7 @@ static int adxrs450_read_raw(struct iio_dev *indio_dev,
s16 t; s16 t;
switch (mask) { switch (mask) {
case 0: case IIO_CHAN_INFO_RAW:
switch (chan->type) { switch (chan->type) {
case IIO_ANGL_VEL: case IIO_ANGL_VEL:
ret = adxrs450_spi_sensor_data(indio_dev, &t); ret = adxrs450_spi_sensor_data(indio_dev, &t);
@ -329,14 +329,16 @@ static const struct iio_chan_spec adxrs450_channels[2][2] = {
.type = IIO_ANGL_VEL, .type = IIO_ANGL_VEL,
.modified = 1, .modified = 1,
.channel2 = IIO_MOD_Z, .channel2 = IIO_MOD_Z,
.info_mask = IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT | .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT |
IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT |
IIO_CHAN_INFO_QUADRATURE_CORRECTION_RAW_SEPARATE_BIT | IIO_CHAN_INFO_QUADRATURE_CORRECTION_RAW_SEPARATE_BIT |
IIO_CHAN_INFO_SCALE_SEPARATE_BIT, IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
}, { }, {
.type = IIO_TEMP, .type = IIO_TEMP,
.indexed = 1, .indexed = 1,
.channel = 0, .channel = 0,
.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT, .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT |
IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
} }
}, },
[ID_ADXRS453] = { [ID_ADXRS453] = {
@ -344,13 +346,15 @@ static const struct iio_chan_spec adxrs450_channels[2][2] = {
.type = IIO_ANGL_VEL, .type = IIO_ANGL_VEL,
.modified = 1, .modified = 1,
.channel2 = IIO_MOD_Z, .channel2 = IIO_MOD_Z,
.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT | .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT |
IIO_CHAN_INFO_SCALE_SEPARATE_BIT |
IIO_CHAN_INFO_QUADRATURE_CORRECTION_RAW_SEPARATE_BIT, IIO_CHAN_INFO_QUADRATURE_CORRECTION_RAW_SEPARATE_BIT,
}, { }, {
.type = IIO_TEMP, .type = IIO_TEMP,
.indexed = 1, .indexed = 1,
.channel = 0, .channel = 0,
.info_mask = IIO_CHAN_INFO_SCALE_SEPARATE_BIT, .info_mask = IIO_CHAN_INFO_RAW_SEPARATE_BIT |
IIO_CHAN_INFO_SCALE_SEPARATE_BIT,
} }
}, },
}; };