Skip to content

Commit 56aee57

Browse files
committed
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
2 parents 76c9e46 + a5056c0 commit 56aee57

File tree

7 files changed

+10
-49
lines changed

7 files changed

+10
-49
lines changed

Documentation/devicetree/bindings/iio/st,st-sensors.yaml

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -152,47 +152,6 @@ allOf:
152152
maxItems: 1
153153
st,drdy-int-pin: false
154154

155-
- if:
156-
properties:
157-
compatible:
158-
enum:
159-
# Two intertial interrupts i.e. accelerometer/gyro interrupts
160-
- st,h3lis331dl-accel
161-
- st,l3g4200d-gyro
162-
- st,l3g4is-gyro
163-
- st,l3gd20-gyro
164-
- st,l3gd20h-gyro
165-
- st,lis2de12
166-
- st,lis2dw12
167-
- st,lis2hh12
168-
- st,lis2dh12-accel
169-
- st,lis331dl-accel
170-
- st,lis331dlh-accel
171-
- st,lis3de
172-
- st,lis3dh-accel
173-
- st,lis3dhh
174-
- st,lis3mdl-magn
175-
- st,lng2dm-accel
176-
- st,lps331ap-press
177-
- st,lsm303agr-accel
178-
- st,lsm303dlh-accel
179-
- st,lsm303dlhc-accel
180-
- st,lsm303dlm-accel
181-
- st,lsm330-accel
182-
- st,lsm330-gyro
183-
- st,lsm330d-accel
184-
- st,lsm330d-gyro
185-
- st,lsm330dl-accel
186-
- st,lsm330dl-gyro
187-
- st,lsm330dlc-accel
188-
- st,lsm330dlc-gyro
189-
- st,lsm9ds0-gyro
190-
- st,lsm9ds1-magn
191-
then:
192-
properties:
193-
interrupts:
194-
maxItems: 2
195-
196155
required:
197156
- compatible
198157
- reg

drivers/iio/accel/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ config DMARD10
231231

232232
config FXLS8962AF
233233
tristate
234+
depends on I2C || !I2C # cannot be built-in for modular I2C
234235

235236
config FXLS8962AF_I2C
236237
tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver"
@@ -247,6 +248,7 @@ config FXLS8962AF_I2C
247248
config FXLS8962AF_SPI
248249
tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver"
249250
depends on SPI
251+
depends on I2C || !I2C
250252
select FXLS8962AF
251253
select REGMAP_SPI
252254
help

drivers/iio/accel/fxls8962af-core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -637,7 +637,7 @@ static int fxls8962af_i2c_raw_read_errata3(struct fxls8962af_data *data,
637637
return ret;
638638
}
639639

640-
return ret;
640+
return 0;
641641
}
642642

643643
static int fxls8962af_fifo_transfer(struct fxls8962af_data *data,

drivers/iio/adc/palmas_gpadc.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -664,8 +664,8 @@ static int palmas_adc_wakeup_configure(struct palmas_gpadc *adc)
664664

665665
adc_period = adc->auto_conversion_period;
666666
for (i = 0; i < 16; ++i) {
667-
if (((1000 * (1 << i)) / 32) < adc_period)
668-
continue;
667+
if (((1000 * (1 << i)) / 32) >= adc_period)
668+
break;
669669
}
670670
if (i > 0)
671671
i--;

drivers/iio/adc/ti-ads7950.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,6 @@ static int ti_ads7950_probe(struct spi_device *spi)
568568
st->ring_xfer.tx_buf = &st->tx_buf[0];
569569
st->ring_xfer.rx_buf = &st->rx_buf[0];
570570
/* len will be set later */
571-
st->ring_xfer.cs_change = true;
572571

573572
spi_message_add_tail(&st->ring_xfer, &st->ring_msg);
574573

drivers/iio/humidity/hdc100x.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
#include <linux/iio/trigger_consumer.h>
2626
#include <linux/iio/triggered_buffer.h>
2727

28+
#include <linux/time.h>
29+
2830
#define HDC100X_REG_TEMP 0x00
2931
#define HDC100X_REG_HUMIDITY 0x01
3032

@@ -166,7 +168,7 @@ static int hdc100x_get_measurement(struct hdc100x_data *data,
166168
struct iio_chan_spec const *chan)
167169
{
168170
struct i2c_client *client = data->client;
169-
int delay = data->adc_int_us[chan->address];
171+
int delay = data->adc_int_us[chan->address] + 1*USEC_PER_MSEC;
170172
int ret;
171173
__be16 val;
172174

@@ -316,7 +318,7 @@ static irqreturn_t hdc100x_trigger_handler(int irq, void *p)
316318
struct iio_dev *indio_dev = pf->indio_dev;
317319
struct hdc100x_data *data = iio_priv(indio_dev);
318320
struct i2c_client *client = data->client;
319-
int delay = data->adc_int_us[0] + data->adc_int_us[1];
321+
int delay = data->adc_int_us[0] + data->adc_int_us[1] + 2*USEC_PER_MSEC;
320322
int ret;
321323

322324
/* dual read starts at temp register */

drivers/iio/imu/adis.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -411,12 +411,11 @@ int __adis_initial_startup(struct adis *adis)
411411
int ret;
412412

413413
/* check if the device has rst pin low */
414-
gpio = devm_gpiod_get_optional(&adis->spi->dev, "reset", GPIOD_ASIS);
414+
gpio = devm_gpiod_get_optional(&adis->spi->dev, "reset", GPIOD_OUT_HIGH);
415415
if (IS_ERR(gpio))
416416
return PTR_ERR(gpio);
417417

418418
if (gpio) {
419-
gpiod_set_value_cansleep(gpio, 1);
420419
msleep(10);
421420
/* bring device out of reset */
422421
gpiod_set_value_cansleep(gpio, 0);

0 commit comments

Comments
 (0)