Commit 56aee573 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'staging-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull IIO driver fixes from Greg KH:
 "Here are some small IIO driver fixes for reported problems for
  5.14-rc6 (no staging driver fixes at the moment).

  All of them resolve reported issues and have been in linux-next all
  week with no reported problems. Full details are in the shortlog"

* tag 'staging-5.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  iio: adc: Fix incorrect exit of for-loop
  iio: humidity: hdc100x: Add margin to the conversion time
  dt-bindings: iio: st: Remove wrong items length check
  iio: accel: fxls8962af: fix i2c dependency
  iio: adis: set GPIO reset pin direction
  iio: adc: ti-ads7950: Ensure CS is deasserted after reading channels
  iio: accel: fxls8962af: fix potential use of uninitialized symbol
parents 76c9e465 a5056c0b
...@@ -152,47 +152,6 @@ allOf: ...@@ -152,47 +152,6 @@ allOf:
maxItems: 1 maxItems: 1
st,drdy-int-pin: false st,drdy-int-pin: false
- if:
properties:
compatible:
enum:
# Two intertial interrupts i.e. accelerometer/gyro interrupts
- st,h3lis331dl-accel
- st,l3g4200d-gyro
- st,l3g4is-gyro
- st,l3gd20-gyro
- st,l3gd20h-gyro
- st,lis2de12
- st,lis2dw12
- st,lis2hh12
- st,lis2dh12-accel
- st,lis331dl-accel
- st,lis331dlh-accel
- st,lis3de
- st,lis3dh-accel
- st,lis3dhh
- st,lis3mdl-magn
- st,lng2dm-accel
- st,lps331ap-press
- st,lsm303agr-accel
- st,lsm303dlh-accel
- st,lsm303dlhc-accel
- st,lsm303dlm-accel
- st,lsm330-accel
- st,lsm330-gyro
- st,lsm330d-accel
- st,lsm330d-gyro
- st,lsm330dl-accel
- st,lsm330dl-gyro
- st,lsm330dlc-accel
- st,lsm330dlc-gyro
- st,lsm9ds0-gyro
- st,lsm9ds1-magn
then:
properties:
interrupts:
maxItems: 2
required: required:
- compatible - compatible
- reg - reg
......
...@@ -231,6 +231,7 @@ config DMARD10 ...@@ -231,6 +231,7 @@ config DMARD10
config FXLS8962AF config FXLS8962AF
tristate tristate
depends on I2C || !I2C # cannot be built-in for modular I2C
config FXLS8962AF_I2C config FXLS8962AF_I2C
tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver" tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
...@@ -247,6 +248,7 @@ config FXLS8962AF_I2C ...@@ -247,6 +248,7 @@ config FXLS8962AF_I2C
config FXLS8962AF_SPI config FXLS8962AF_SPI
tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver" tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
depends on SPI depends on SPI
depends on I2C || !I2C
select FXLS8962AF select FXLS8962AF
select REGMAP_SPI select REGMAP_SPI
help help
......
...@@ -637,7 +637,7 @@ static int fxls8962af_i2c_raw_read_errata3(struct fxls8962af_data *data, ...@@ -637,7 +637,7 @@ static int fxls8962af_i2c_raw_read_errata3(struct fxls8962af_data *data,
return ret; return ret;
} }
return ret; return 0;
} }
static int fxls8962af_fifo_transfer(struct fxls8962af_data *data, static int fxls8962af_fifo_transfer(struct fxls8962af_data *data,
......
...@@ -664,8 +664,8 @@ static int palmas_adc_wakeup_configure(struct palmas_gpadc *adc) ...@@ -664,8 +664,8 @@ static int palmas_adc_wakeup_configure(struct palmas_gpadc *adc)
adc_period = adc->auto_conversion_period; adc_period = adc->auto_conversion_period;
for (i = 0; i < 16; ++i) { for (i = 0; i < 16; ++i) {
if (((1000 * (1 << i)) / 32) < adc_period) if (((1000 * (1 << i)) / 32) >= adc_period)
continue; break;
} }
if (i > 0) if (i > 0)
i--; i--;
......
...@@ -568,7 +568,6 @@ static int ti_ads7950_probe(struct spi_device *spi) ...@@ -568,7 +568,6 @@ static int ti_ads7950_probe(struct spi_device *spi)
st->ring_xfer.tx_buf = &st->tx_buf[0]; st->ring_xfer.tx_buf = &st->tx_buf[0];
st->ring_xfer.rx_buf = &st->rx_buf[0]; st->ring_xfer.rx_buf = &st->rx_buf[0];
/* len will be set later */ /* len will be set later */
st->ring_xfer.cs_change = true;
spi_message_add_tail(&st->ring_xfer, &st->ring_msg); spi_message_add_tail(&st->ring_xfer, &st->ring_msg);
......
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
#include <linux/iio/trigger_consumer.h> #include <linux/iio/trigger_consumer.h>
#include <linux/iio/triggered_buffer.h> #include <linux/iio/triggered_buffer.h>
#include <linux/time.h>
#define HDC100X_REG_TEMP 0x00 #define HDC100X_REG_TEMP 0x00
#define HDC100X_REG_HUMIDITY 0x01 #define HDC100X_REG_HUMIDITY 0x01
...@@ -166,7 +168,7 @@ static int hdc100x_get_measurement(struct hdc100x_data *data, ...@@ -166,7 +168,7 @@ static int hdc100x_get_measurement(struct hdc100x_data *data,
struct iio_chan_spec const *chan) struct iio_chan_spec const *chan)
{ {
struct i2c_client *client = data->client; struct i2c_client *client = data->client;
int delay = data->adc_int_us[chan->address]; int delay = data->adc_int_us[chan->address] + 1*USEC_PER_MSEC;
int ret; int ret;
__be16 val; __be16 val;
...@@ -316,7 +318,7 @@ static irqreturn_t hdc100x_trigger_handler(int irq, void *p) ...@@ -316,7 +318,7 @@ static irqreturn_t hdc100x_trigger_handler(int irq, void *p)
struct iio_dev *indio_dev = pf->indio_dev; struct iio_dev *indio_dev = pf->indio_dev;
struct hdc100x_data *data = iio_priv(indio_dev); struct hdc100x_data *data = iio_priv(indio_dev);
struct i2c_client *client = data->client; struct i2c_client *client = data->client;
int delay = data->adc_int_us[0] + data->adc_int_us[1]; int delay = data->adc_int_us[0] + data->adc_int_us[1] + 2*USEC_PER_MSEC;
int ret; int ret;
/* dual read starts at temp register */ /* dual read starts at temp register */
......
...@@ -411,12 +411,11 @@ int __adis_initial_startup(struct adis *adis) ...@@ -411,12 +411,11 @@ int __adis_initial_startup(struct adis *adis)
int ret; int ret;
/* check if the device has rst pin low */ /* check if the device has rst pin low */
gpio = devm_gpiod_get_optional(&adis->spi->dev, "reset", GPIOD_ASIS); gpio = devm_gpiod_get_optional(&adis->spi->dev, "reset", GPIOD_OUT_HIGH);
if (IS_ERR(gpio)) if (IS_ERR(gpio))
return PTR_ERR(gpio); return PTR_ERR(gpio);
if (gpio) { if (gpio) {
gpiod_set_value_cansleep(gpio, 1);
msleep(10); msleep(10);
/* bring device out of reset */ /* bring device out of reset */
gpiod_set_value_cansleep(gpio, 0); gpiod_set_value_cansleep(gpio, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment