Commit ffd1f150 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'iio-fixes-for-6.6a' of...

Merge tag 'iio-fixes-for-6.6a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-linus

Jonathan writes:

1st set of IIO fixes for 6.6

Note last minute rebase to fix up a stale Fixes tag. All patches have been
in Linux-next for some time.

adi,ad3552r
 - Fix swapped device IDs for the two parts that are supported.
adi,ad7192
 - Use the right reference voltage source.
adi,ad7292
 - Fix additionalProperties to be false, not true.
adi,ad74413
 - Add missing Kconfig depends on IIO_BUFFER and IIO_TRIGGERED_BUFFER
adi,admv1013
 - Fix up some corner cases for the mixer vgate register value.
bosch,bmp280
 - Fix a null pointer dereference caused by a wrong boolean operator.
bosch,bno055
 - Add missing Kconfig depends on IIO_BUFFER and IIO_TRIGGERED_BUFFER
freescale,imx8eqxp
 - Fix some wrong register addresses.
google,cros_ec
 - Fix a use after free if very badly timed buffer disable occurs by
   holding the device in buffered mode.
infineon,dps310
 - Expand a timeout so we don't hit it on working parts.
meas,m5611
 - Allow for a ROM CRC of 0 as it is a valid value and there are devices
   out there where it happens.
murata,irsd200
 - Make sure the buffer used to build up the scan is large enough to take
   the timestamp.
rohm,bu27010 binding
 - Add a missing required vdd-supply
vishay,vcnl4000
 - Don't power down chip in wrong place.

* tag 'iio-fixes-for-6.6a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio:
  iio: pressure: ms5611: ms5611_prom_is_valid false negative bug
  dt-bindings: iio: adc: adi,ad7292: Fix additionalProperties on channel nodes
  iio: adc: ad7192: Correct reference voltage
  iio: light: vcnl4000: Don't power on/off chip in config
  iio: addac: Kconfig: update ad74413r selections
  iio: pressure: dps310: Adjust Timeout Settings
  iio: imu: bno055: Fix missing Kconfig dependencies
  iio: adc: imx8qxp: Fix address for command buffer registers
  iio: cros_ec: fix an use-after-free in cros_ec_sensors_push_data()
  iio: irsd200: fix -Warray-bounds bug in irsd200_trigger_handler
  dt-bindings: iio: rohm,bu27010: add missing vdd-supply to example
  iio: admv1013: add mixer_vgate corner cases
  iio: pressure: bmp280: Fix NULL pointer exception
  iio: dac: ad3552r: Correct device IDs
parents 1aa3aaf8 fd39d966
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ patternProperties:
    required:
      - reg

    additionalProperties: true
    additionalProperties: false

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#
+1 −0
Original line number Diff line number Diff line
@@ -45,5 +45,6 @@ examples:
      light-sensor@38 {
        compatible = "rohm,bu27010";
        reg = <0x38>;
        vdd-supply = <&vdd>;
      };
    };
+25 −4
Original line number Diff line number Diff line
@@ -177,6 +177,7 @@ struct ad7192_chip_info {
struct ad7192_state {
	const struct ad7192_chip_info	*chip_info;
	struct regulator		*avdd;
	struct regulator		*vref;
	struct clk			*mclk;
	u16				int_vref_mv;
	u32				fclk;
@@ -1008,10 +1009,30 @@ static int ad7192_probe(struct spi_device *spi)
	if (ret)
		return dev_err_probe(&spi->dev, ret, "Failed to enable specified DVdd supply\n");

	st->vref = devm_regulator_get_optional(&spi->dev, "vref");
	if (IS_ERR(st->vref)) {
		if (PTR_ERR(st->vref) != -ENODEV)
			return PTR_ERR(st->vref);

		ret = regulator_get_voltage(st->avdd);
	if (ret < 0) {
		dev_err(&spi->dev, "Device tree error, reference voltage undefined\n");
		if (ret < 0)
			return dev_err_probe(&spi->dev, ret,
					     "Device tree error, AVdd voltage undefined\n");
	} else {
		ret = regulator_enable(st->vref);
		if (ret) {
			dev_err(&spi->dev, "Failed to enable specified Vref supply\n");
			return ret;
		}

		ret = devm_add_action_or_reset(&spi->dev, ad7192_reg_disable, st->vref);
		if (ret)
			return ret;

		ret = regulator_get_voltage(st->vref);
		if (ret < 0)
			return dev_err_probe(&spi->dev, ret,
					     "Device tree error, Vref voltage undefined\n");
	}
	st->int_vref_mv = ret / 1000;

+2 −2
Original line number Diff line number Diff line
@@ -38,8 +38,8 @@
#define IMX8QXP_ADR_ADC_FCTRL		0x30
#define IMX8QXP_ADR_ADC_SWTRIG		0x34
#define IMX8QXP_ADR_ADC_TCTRL(tid)	(0xc0 + (tid) * 4)
#define IMX8QXP_ADR_ADC_CMDH(cid)	(0x100 + (cid) * 8)
#define IMX8QXP_ADR_ADC_CMDL(cid)	(0x104 + (cid) * 8)
#define IMX8QXP_ADR_ADC_CMDL(cid)	(0x100 + (cid) * 8)
#define IMX8QXP_ADR_ADC_CMDH(cid)	(0x104 + (cid) * 8)
#define IMX8QXP_ADR_ADC_RESFIFO		0x300
#define IMX8QXP_ADR_ADC_TST		0xffc

+2 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ config AD74413R
	depends on GPIOLIB && SPI
	select REGMAP_SPI
	select CRC8
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Analog Devices AD74412R/AD74413R
	  quad-channel software configurable input/output solution.
Loading