diff options
Diffstat (limited to 'drivers/staging/iio/gyro/adis16260_core.c')
-rw-r--r-- | drivers/staging/iio/gyro/adis16260_core.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c index 4f5a7cb3f7e..e86ce6a1611 100644 --- a/drivers/staging/iio/gyro/adis16260_core.c +++ b/drivers/staging/iio/gyro/adis16260_core.c | |||
@@ -390,9 +390,9 @@ enum adis16260_channel { | |||
390 | #define ADIS16260_GYRO_CHANNEL_SET(axis, mod) \ | 390 | #define ADIS16260_GYRO_CHANNEL_SET(axis, mod) \ |
391 | struct iio_chan_spec adis16260_channels_##axis[] = { \ | 391 | struct iio_chan_spec adis16260_channels_##axis[] = { \ |
392 | IIO_CHAN(IIO_ANGL_VEL, 1, 0, 0, NULL, 0, mod, \ | 392 | IIO_CHAN(IIO_ANGL_VEL, 1, 0, 0, NULL, 0, mod, \ |
393 | (1 << IIO_CHAN_INFO_CALIBBIAS_SEPARATE) | \ | 393 | IIO_CHAN_INFO_CALIBBIAS_SEPARATE_BIT | \ |
394 | (1 << IIO_CHAN_INFO_CALIBSCALE_SEPARATE) | \ | 394 | IIO_CHAN_INFO_CALIBSCALE_SEPARATE_BIT | \ |
395 | (1 << IIO_CHAN_INFO_SCALE_SEPARATE), \ | 395 | IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \ |
396 | gyro, ADIS16260_SCAN_GYRO, \ | 396 | gyro, ADIS16260_SCAN_GYRO, \ |
397 | IIO_ST('s', 14, 16, 0), 0), \ | 397 | IIO_ST('s', 14, 16, 0), 0), \ |
398 | IIO_CHAN(IIO_ANGL, 1, 0, 0, NULL, 0, mod, \ | 398 | IIO_CHAN(IIO_ANGL, 1, 0, 0, NULL, 0, mod, \ |
@@ -400,16 +400,16 @@ enum adis16260_channel { | |||
400 | angle, ADIS16260_SCAN_ANGL, \ | 400 | angle, ADIS16260_SCAN_ANGL, \ |
401 | IIO_ST('u', 14, 16, 0), 0), \ | 401 | IIO_ST('u', 14, 16, 0), 0), \ |
402 | IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0, \ | 402 | IIO_CHAN(IIO_TEMP, 0, 1, 0, NULL, 0, 0, \ |
403 | (1 << IIO_CHAN_INFO_OFFSET_SEPARATE) | \ | 403 | IIO_CHAN_INFO_OFFSET_SEPARATE_BIT | \ |
404 | (1 << IIO_CHAN_INFO_SCALE_SEPARATE), \ | 404 | IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \ |
405 | temp, ADIS16260_SCAN_TEMP, \ | 405 | temp, ADIS16260_SCAN_TEMP, \ |
406 | IIO_ST('u', 12, 16, 0), 0), \ | 406 | IIO_ST('u', 12, 16, 0), 0), \ |
407 | IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0, \ | 407 | IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "supply", 0, 0, \ |
408 | (1 << IIO_CHAN_INFO_SCALE_SEPARATE), \ | 408 | IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \ |
409 | in_supply, ADIS16260_SCAN_SUPPLY, \ | 409 | in_supply, ADIS16260_SCAN_SUPPLY, \ |
410 | IIO_ST('u', 12, 16, 0), 0), \ | 410 | IIO_ST('u', 12, 16, 0), 0), \ |
411 | IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, \ | 411 | IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, NULL, 1, 0, \ |
412 | (1 << IIO_CHAN_INFO_SCALE_SEPARATE), \ | 412 | IIO_CHAN_INFO_SCALE_SEPARATE_BIT, \ |
413 | in_aux, ADIS16260_SCAN_AUX_ADC, \ | 413 | in_aux, ADIS16260_SCAN_AUX_ADC, \ |
414 | IIO_ST('u', 12, 16, 0), 0), \ | 414 | IIO_ST('u', 12, 16, 0), 0), \ |
415 | IIO_CHAN_SOFT_TIMESTAMP(5) \ | 415 | IIO_CHAN_SOFT_TIMESTAMP(5) \ |
@@ -464,8 +464,7 @@ static int adis16260_read_raw(struct iio_dev *indio_dev, | |||
464 | *val = val16; | 464 | *val = val16; |
465 | mutex_unlock(&indio_dev->mlock); | 465 | mutex_unlock(&indio_dev->mlock); |
466 | return IIO_VAL_INT; | 466 | return IIO_VAL_INT; |
467 | case IIO_CHAN_INFO_SCALE_SEPARATE: | 467 | case IIO_CHAN_INFO_SCALE: |
468 | case IIO_CHAN_INFO_SCALE_SHARED: | ||
469 | switch (chan->type) { | 468 | switch (chan->type) { |
470 | case IIO_ANGL_VEL: | 469 | case IIO_ANGL_VEL: |
471 | *val = 0; | 470 | *val = 0; |
@@ -489,10 +488,10 @@ static int adis16260_read_raw(struct iio_dev *indio_dev, | |||
489 | return -EINVAL; | 488 | return -EINVAL; |
490 | } | 489 | } |
491 | break; | 490 | break; |
492 | case IIO_CHAN_INFO_OFFSET_SEPARATE: | 491 | case IIO_CHAN_INFO_OFFSET: |
493 | *val = 25; | 492 | *val = 25; |
494 | return IIO_VAL_INT; | 493 | return IIO_VAL_INT; |
495 | case IIO_CHAN_INFO_CALIBBIAS_SEPARATE: | 494 | case IIO_CHAN_INFO_CALIBBIAS: |
496 | switch (chan->type) { | 495 | switch (chan->type) { |
497 | case IIO_ANGL_VEL: | 496 | case IIO_ANGL_VEL: |
498 | bits = 12; | 497 | bits = 12; |
@@ -512,7 +511,7 @@ static int adis16260_read_raw(struct iio_dev *indio_dev, | |||
512 | *val = val16; | 511 | *val = val16; |
513 | mutex_unlock(&indio_dev->mlock); | 512 | mutex_unlock(&indio_dev->mlock); |
514 | return IIO_VAL_INT; | 513 | return IIO_VAL_INT; |
515 | case IIO_CHAN_INFO_CALIBSCALE_SEPARATE: | 514 | case IIO_CHAN_INFO_CALIBSCALE: |
516 | switch (chan->type) { | 515 | switch (chan->type) { |
517 | case IIO_ANGL_VEL: | 516 | case IIO_ANGL_VEL: |
518 | bits = 12; | 517 | bits = 12; |
@@ -544,11 +543,11 @@ static int adis16260_write_raw(struct iio_dev *indio_dev, | |||
544 | s16 val16; | 543 | s16 val16; |
545 | u8 addr; | 544 | u8 addr; |
546 | switch (mask) { | 545 | switch (mask) { |
547 | case IIO_CHAN_INFO_CALIBBIAS_SEPARATE: | 546 | case IIO_CHAN_INFO_CALIBBIAS: |
548 | val16 = val & ((1 << bits) - 1); | 547 | val16 = val & ((1 << bits) - 1); |
549 | addr = adis16260_addresses[chan->address][1]; | 548 | addr = adis16260_addresses[chan->address][1]; |
550 | return adis16260_spi_write_reg_16(indio_dev, addr, val16); | 549 | return adis16260_spi_write_reg_16(indio_dev, addr, val16); |
551 | case IIO_CHAN_INFO_CALIBSCALE_SEPARATE: | 550 | case IIO_CHAN_INFO_CALIBSCALE: |
552 | val16 = val & ((1 << bits) - 1); | 551 | val16 = val & ((1 << bits) - 1); |
553 | addr = adis16260_addresses[chan->address][2]; | 552 | addr = adis16260_addresses[chan->address][2]; |
554 | return adis16260_spi_write_reg_16(indio_dev, addr, val16); | 553 | return adis16260_spi_write_reg_16(indio_dev, addr, val16); |