History

Merge tag 'iio-fixes-4.18a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus

Jonathan writes: First set of IIO fixes for the 4.18 cycle. * bmp280 - Fix wrong relative humidity unit. * buffer - Fix a function signature to match the function. * inv_mpu6050 - Fix a regression in which older ACPI devices won't have working interrupts due to lack of information on the interrupt type. * mma8452 - Don't ignore data ready interrupt when handling interrupts as will look like an unhandled interrupt. * tsl2x7x/tsl2772 - Avoid a potential division by zero.

Greg Kroah-Hartman committed 8 years ago

Commit ebc2dc52 parents 0a2bc00 2a221c05 files · +8 −5Browse files

Unified · Split

5 files
  1. drivers/iio/accel/mma8452.c +1 −1
  2. drivers/iio/imu/inv_mpu6050/inv_mpu_core.c +2 −0
  3. drivers/iio/light/tsl2772.c +2 −0
  4. drivers/iio/pressure/bmp280-core.c +2 −3
  5. include/linux/iio/buffer-dma.h +1 −1
drivers/iio/accel/mma8452.c+1−1
@@ -1053,7 +1053,7 @@ static irqreturn_t mma8452_interrupt(int irq, void *p) · 1052 unmodified lines
1053 if (src < 0)1053 if (src < 0)
1054 return IRQ_NONE;1054 return IRQ_NONE;
1055 1055
1056 if (!(src & data->chip_info->enabled_events))1056 if (!(src & (data->chip_info->enabled_events | MMA8452_INT_DRDY)))
1057 return IRQ_NONE;1057 return IRQ_NONE;
1058 1058
1059 if (src & MMA8452_INT_DRDY) {1059 if (src & MMA8452_INT_DRDY) {
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c+2−0
@@ -959,6 +959,8 @@ int inv_mpu_core_probe(struct regmap *regmap, int irq, const char *name, · 958 unmodified lines
959 }959 }
960 960
961 irq_type = irqd_get_trigger_type(desc);961 irq_type = irqd_get_trigger_type(desc);
962 if (!irq_type)
963 irq_type = IRQF_TRIGGER_RISING;
962 if (irq_type == IRQF_TRIGGER_RISING)964 if (irq_type == IRQF_TRIGGER_RISING)
963 st->irq_mask = INV_MPU6050_ACTIVE_HIGH;965 st->irq_mask = INV_MPU6050_ACTIVE_HIGH;
964 else if (irq_type == IRQF_TRIGGER_FALLING)966 else if (irq_type == IRQF_TRIGGER_FALLING)
drivers/iio/light/tsl2772.c+2−0
@@ -582,6 +582,8 @@ static int tsl2772_als_calibrate(struct iio_dev *indio_dev) · 581 unmodified lines
582 "%s: failed to get lux\n", __func__);582 "%s: failed to get lux\n", __func__);
583 return lux_val;583 return lux_val;
584 }584 }
585 if (lux_val == 0)
586 return -ERANGE;
585 587
586 ret = (chip->settings.als_cal_target * chip->settings.als_gain_trim) /588 ret = (chip->settings.als_cal_target * chip->settings.als_gain_trim) /
587 lux_val;589 lux_val;
drivers/iio/pressure/bmp280-core.c+2−3
@@ -415,10 +415,9 @@ static int bmp280_read_humid(struct bmp280_data *data, int *val, int *val2) · 414 unmodified lines
415 }415 }
416 comp_humidity = bmp280_compensate_humidity(data, adc_humidity);416 comp_humidity = bmp280_compensate_humidity(data, adc_humidity);
417 417
418 *val = comp_humidity;418 *val = comp_humidity * 1000 / 1024;
419 *val2 = 1024;
420 419
421 return IIO_VAL_FRACTIONAL;420 return IIO_VAL_INT;
422}421}
423 422
424static int bmp280_read_raw(struct iio_dev *indio_dev,423static int bmp280_read_raw(struct iio_dev *indio_dev,
include/linux/iio/buffer-dma.h+1−1
@@ -141,7 +141,7 @@ int iio_dma_buffer_read(struct iio_buffer *buffer, size_t n, · 140 unmodified lines
141 char __user *user_buffer);141 char __user *user_buffer);
142size_t iio_dma_buffer_data_available(struct iio_buffer *buffer);142size_t iio_dma_buffer_data_available(struct iio_buffer *buffer);
143int iio_dma_buffer_set_bytes_per_datum(struct iio_buffer *buffer, size_t bpd);143int iio_dma_buffer_set_bytes_per_datum(struct iio_buffer *buffer, size_t bpd);
144int iio_dma_buffer_set_length(struct iio_buffer *buffer, int length);144int iio_dma_buffer_set_length(struct iio_buffer *buffer, unsigned int length);
145int iio_dma_buffer_request_update(struct iio_buffer *buffer);145int iio_dma_buffer_request_update(struct iio_buffer *buffer);
146 146
147int iio_dma_buffer_init(struct iio_dma_buffer_queue *queue,147int iio_dma_buffer_init(struct iio_dma_buffer_queue *queue,