aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/iio/accel/bmc150-accel-core.c7
-rw-r--r--drivers/iio/adc/Kconfig1
-rw-r--r--drivers/iio/gyro/bmg160_core.c9
-rw-r--r--drivers/iio/health/max30100.c3
-rw-r--r--drivers/iio/imu/inv_mpu6050/Kconfig3
-rw-r--r--drivers/iio/industrialio-buffer.c1
-rw-r--r--drivers/iio/magnetometer/st_magn.h1
7 files changed, 15 insertions, 10 deletions
diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc150-accel-core.c
index c73331f7782b..2072a31e813b 100644
--- a/drivers/iio/accel/bmc150-accel-core.c
+++ b/drivers/iio/accel/bmc150-accel-core.c
@@ -547,7 +547,7 @@ static int bmc150_accel_get_axis(struct bmc150_accel_data *data,
547{ 547{
548 int ret; 548 int ret;
549 int axis = chan->scan_index; 549 int axis = chan->scan_index;
550 unsigned int raw_val; 550 __le16 raw_val;
551 551
552 mutex_lock(&data->mutex); 552 mutex_lock(&data->mutex);
553 ret = bmc150_accel_set_power_state(data, true); 553 ret = bmc150_accel_set_power_state(data, true);
@@ -557,14 +557,14 @@ static int bmc150_accel_get_axis(struct bmc150_accel_data *data,
557 } 557 }
558 558
559 ret = regmap_bulk_read(data->regmap, BMC150_ACCEL_AXIS_TO_REG(axis), 559 ret = regmap_bulk_read(data->regmap, BMC150_ACCEL_AXIS_TO_REG(axis),
560 &raw_val, 2); 560 &raw_val, sizeof(raw_val));
561 if (ret < 0) { 561 if (ret < 0) {
562 dev_err(data->dev, "Error reading axis %d\n", axis); 562 dev_err(data->dev, "Error reading axis %d\n", axis);
563 bmc150_accel_set_power_state(data, false); 563 bmc150_accel_set_power_state(data, false);
564 mutex_unlock(&data->mutex); 564 mutex_unlock(&data->mutex);
565 return ret; 565 return ret;
566 } 566 }
567 *val = sign_extend32(raw_val >> chan->scan_type.shift, 567 *val = sign_extend32(le16_to_cpu(raw_val) >> chan->scan_type.shift,
568 chan->scan_type.realbits - 1); 568 chan->scan_type.realbits - 1);
569 ret = bmc150_accel_set_power_state(data, false); 569 ret = bmc150_accel_set_power_state(data, false);
570 mutex_unlock(&data->mutex); 570 mutex_unlock(&data->mutex);
@@ -988,6 +988,7 @@ static const struct iio_event_spec bmc150_accel_event = {
988 .realbits = (bits), \ 988 .realbits = (bits), \
989 .storagebits = 16, \ 989 .storagebits = 16, \
990 .shift = 16 - (bits), \ 990 .shift = 16 - (bits), \
991 .endianness = IIO_LE, \
991 }, \ 992 }, \
992 .event_spec = &bmc150_accel_event, \ 993 .event_spec = &bmc150_accel_event, \
993 .num_event_specs = 1 \ 994 .num_event_specs = 1 \
diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index af4aea7b20f9..82c718c515a0 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -134,6 +134,7 @@ config AT91_ADC
134config AT91_SAMA5D2_ADC 134config AT91_SAMA5D2_ADC
135 tristate "Atmel AT91 SAMA5D2 ADC" 135 tristate "Atmel AT91 SAMA5D2 ADC"
136 depends on ARCH_AT91 || COMPILE_TEST 136 depends on ARCH_AT91 || COMPILE_TEST
137 depends on HAS_IOMEM
137 help 138 help
138 Say yes here to build support for Atmel SAMA5D2 ADC which is 139 Say yes here to build support for Atmel SAMA5D2 ADC which is
139 available on SAMA5D2 SoC family. 140 available on SAMA5D2 SoC family.
diff --git a/drivers/iio/gyro/bmg160_core.c b/drivers/iio/gyro/bmg160_core.c
index bbce3b09ac45..4dac567e75b4 100644
--- a/drivers/iio/gyro/bmg160_core.c
+++ b/drivers/iio/gyro/bmg160_core.c
@@ -452,7 +452,7 @@ static int bmg160_get_temp(struct bmg160_data *data, int *val)
452static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val) 452static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
453{ 453{
454 int ret; 454 int ret;
455 unsigned int raw_val; 455 __le16 raw_val;
456 456
457 mutex_lock(&data->mutex); 457 mutex_lock(&data->mutex);
458 ret = bmg160_set_power_state(data, true); 458 ret = bmg160_set_power_state(data, true);
@@ -462,7 +462,7 @@ static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
462 } 462 }
463 463
464 ret = regmap_bulk_read(data->regmap, BMG160_AXIS_TO_REG(axis), &raw_val, 464 ret = regmap_bulk_read(data->regmap, BMG160_AXIS_TO_REG(axis), &raw_val,
465 2); 465 sizeof(raw_val));
466 if (ret < 0) { 466 if (ret < 0) {
467 dev_err(data->dev, "Error reading axis %d\n", axis); 467 dev_err(data->dev, "Error reading axis %d\n", axis);
468 bmg160_set_power_state(data, false); 468 bmg160_set_power_state(data, false);
@@ -470,7 +470,7 @@ static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
470 return ret; 470 return ret;
471 } 471 }
472 472
473 *val = sign_extend32(raw_val, 15); 473 *val = sign_extend32(le16_to_cpu(raw_val), 15);
474 ret = bmg160_set_power_state(data, false); 474 ret = bmg160_set_power_state(data, false);
475 mutex_unlock(&data->mutex); 475 mutex_unlock(&data->mutex);
476 if (ret < 0) 476 if (ret < 0)
@@ -733,6 +733,7 @@ static const struct iio_event_spec bmg160_event = {
733 .sign = 's', \ 733 .sign = 's', \
734 .realbits = 16, \ 734 .realbits = 16, \
735 .storagebits = 16, \ 735 .storagebits = 16, \
736 .endianness = IIO_LE, \
736 }, \ 737 }, \
737 .event_spec = &bmg160_event, \ 738 .event_spec = &bmg160_event, \
738 .num_event_specs = 1 \ 739 .num_event_specs = 1 \
@@ -780,7 +781,7 @@ static irqreturn_t bmg160_trigger_handler(int irq, void *p)
780 mutex_unlock(&data->mutex); 781 mutex_unlock(&data->mutex);
781 goto err; 782 goto err;
782 } 783 }
783 data->buffer[i++] = ret; 784 data->buffer[i++] = val;
784 } 785 }
785 mutex_unlock(&data->mutex); 786 mutex_unlock(&data->mutex);
786 787
diff --git a/drivers/iio/health/max30100.c b/drivers/iio/health/max30100.c
index 09db89359544..90ab8a2d2846 100644
--- a/drivers/iio/health/max30100.c
+++ b/drivers/iio/health/max30100.c
@@ -238,12 +238,13 @@ static irqreturn_t max30100_interrupt_handler(int irq, void *private)
238 238
239 mutex_lock(&data->lock); 239 mutex_lock(&data->lock);
240 240
241 while (cnt-- || (cnt = max30100_fifo_count(data) > 0)) { 241 while (cnt || (cnt = max30100_fifo_count(data) > 0)) {
242 ret = max30100_read_measurement(data); 242 ret = max30100_read_measurement(data);
243 if (ret) 243 if (ret)
244 break; 244 break;
245 245
246 iio_push_to_buffers(data->indio_dev, data->buffer); 246 iio_push_to_buffers(data->indio_dev, data->buffer);
247 cnt--;
247 } 248 }
248 249
249 mutex_unlock(&data->lock); 250 mutex_unlock(&data->lock);
diff --git a/drivers/iio/imu/inv_mpu6050/Kconfig b/drivers/iio/imu/inv_mpu6050/Kconfig
index a7f557af4389..847455a2d6bb 100644
--- a/drivers/iio/imu/inv_mpu6050/Kconfig
+++ b/drivers/iio/imu/inv_mpu6050/Kconfig
@@ -9,9 +9,8 @@ config INV_MPU6050_IIO
9 9
10config INV_MPU6050_I2C 10config INV_MPU6050_I2C
11 tristate "Invensense MPU6050 devices (I2C)" 11 tristate "Invensense MPU6050 devices (I2C)"
12 depends on I2C 12 depends on I2C_MUX
13 select INV_MPU6050_IIO 13 select INV_MPU6050_IIO
14 select I2C_MUX
15 select REGMAP_I2C 14 select REGMAP_I2C
16 help 15 help
17 This driver supports the Invensense MPU6050 devices. 16 This driver supports the Invensense MPU6050 devices.
diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index b976332d45d3..90462fcf5436 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -653,6 +653,7 @@ static int iio_verify_update(struct iio_dev *indio_dev,
653 unsigned int modes; 653 unsigned int modes;
654 654
655 memset(config, 0, sizeof(*config)); 655 memset(config, 0, sizeof(*config));
656 config->watermark = ~0;
656 657
657 /* 658 /*
658 * If there is just one buffer and we are removing it there is nothing 659 * If there is just one buffer and we are removing it there is nothing
diff --git a/drivers/iio/magnetometer/st_magn.h b/drivers/iio/magnetometer/st_magn.h
index 06a4d9c35581..9daca4681922 100644
--- a/drivers/iio/magnetometer/st_magn.h
+++ b/drivers/iio/magnetometer/st_magn.h
@@ -44,6 +44,7 @@ static inline int st_magn_allocate_ring(struct iio_dev *indio_dev)
44static inline void st_magn_deallocate_ring(struct iio_dev *indio_dev) 44static inline void st_magn_deallocate_ring(struct iio_dev *indio_dev)
45{ 45{
46} 46}
47#define ST_MAGN_TRIGGER_SET_STATE NULL
47#endif /* CONFIG_IIO_BUFFER */ 48#endif /* CONFIG_IIO_BUFFER */
48 49
49#endif /* ST_MAGN_H */ 50#endif /* ST_MAGN_H */