Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+10 -49
-41
Documentation/devicetree/bindings/iio/st,st-sensors.yaml
··· 152 152 maxItems: 1 153 153 st,drdy-int-pin: false 154 154 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 - 196 155 required: 197 156 - compatible 198 157 - reg
+2
drivers/iio/accel/Kconfig
··· 231 231 232 232 config FXLS8962AF 233 233 tristate 234 + depends on I2C || !I2C # cannot be built-in for modular I2C 234 235 235 236 config FXLS8962AF_I2C 236 237 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer I2C Driver" ··· 248 247 config FXLS8962AF_SPI 249 248 tristate "NXP FXLS8962AF/FXLS8964AF Accelerometer SPI Driver" 250 249 depends on SPI 250 + depends on I2C || !I2C 251 251 select FXLS8962AF 252 252 select REGMAP_SPI 253 253 help
+1 -1
drivers/iio/accel/fxls8962af-core.c
··· 637 637 return ret; 638 638 } 639 639 640 - return ret; 640 + return 0; 641 641 } 642 642 643 643 static int fxls8962af_fifo_transfer(struct fxls8962af_data *data,
+2 -2
drivers/iio/adc/palmas_gpadc.c
··· 664 664 665 665 adc_period = adc->auto_conversion_period; 666 666 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; 669 669 } 670 670 if (i > 0) 671 671 i--;
-1
drivers/iio/adc/ti-ads7950.c
··· 568 568 st->ring_xfer.tx_buf = &st->tx_buf[0]; 569 569 st->ring_xfer.rx_buf = &st->rx_buf[0]; 570 570 /* len will be set later */ 571 - st->ring_xfer.cs_change = true; 572 571 573 572 spi_message_add_tail(&st->ring_xfer, &st->ring_msg); 574 573
+4 -2
drivers/iio/humidity/hdc100x.c
··· 25 25 #include <linux/iio/trigger_consumer.h> 26 26 #include <linux/iio/triggered_buffer.h> 27 27 28 + #include <linux/time.h> 29 + 28 30 #define HDC100X_REG_TEMP 0x00 29 31 #define HDC100X_REG_HUMIDITY 0x01 30 32 ··· 168 166 struct iio_chan_spec const *chan) 169 167 { 170 168 struct i2c_client *client = data->client; 171 - int delay = data->adc_int_us[chan->address]; 169 + int delay = data->adc_int_us[chan->address] + 1*USEC_PER_MSEC; 172 170 int ret; 173 171 __be16 val; 174 172 ··· 318 316 struct iio_dev *indio_dev = pf->indio_dev; 319 317 struct hdc100x_data *data = iio_priv(indio_dev); 320 318 struct i2c_client *client = data->client; 321 - int delay = data->adc_int_us[0] + data->adc_int_us[1]; 319 + int delay = data->adc_int_us[0] + data->adc_int_us[1] + 2*USEC_PER_MSEC; 322 320 int ret; 323 321 324 322 /* dual read starts at temp register */
+1 -2
drivers/iio/imu/adis.c
··· 411 411 int ret; 412 412 413 413 /* 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); 415 415 if (IS_ERR(gpio)) 416 416 return PTR_ERR(gpio); 417 417 418 418 if (gpio) { 419 - gpiod_set_value_cansleep(gpio, 1); 420 419 msleep(10); 421 420 /* bring device out of reset */ 422 421 gpiod_set_value_cansleep(gpio, 0);