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

Merge tag 'iio-for-6.18a' of...

Merge tag 'iio-for-6.18a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next

Jonathan writes:

IIO: New device support, features and cleanup for 6.18

New device support
==================

ad,ade9000
- New driver for this complex energy and power monitoring ADC.
infineon,tlv493d
- New driver for this 3D magnetic sensor.
intel,dollar
- New driver for this TI PMIC (part number unknown)
marvel,88pm886
- Driver for this PMIC ADC.
microchip,mcp9600
- Add explicit support for the mcp9601 which has some additional features
  over the mcp9600.
rohm,bd79112
- New driver for this ADC / GPIO Chip.

Features
========
Core
- New helper to multiply data expressed in IIO types.
- Add KUnit tests.
- New IIO_ALTCURRENT type, similar to existing IIO_ALTVOLTAGE
- Add some channel modifiers related to energy and power, such as
  reactive.
adi,ad7124
- Support external clocks sources and output of the internal clocks.
- Filter control.
adi,ad7173
- Add filter support. Some fiddly interactions with other parameters on this
  device.
adi,ad7779
- Add backend support which required control of the number of lanes used.
liteon,ltr390
- Add runtime PM support.
microchip,mcp9600
- Add support for different thermocouple types.

Cleanup and minor fixes
=======================

core
- Switch info_mask fields to be unsigned. Not clear why they were ever
  signed.
- Fix handling of negative channel scale in iio_convert_raw_to_processed()
- Fix offset handling for channels without a scale attribute.
- Improve the precision of scaling slightly.
- Drop apparent handling of IIO_CHAN_INFO_PROCESSED for devices that don't
  have any such channels.
various
- Drop many pm_runtime_mark_last_busy() calls now
  pm_runtime_put_autosuspend() calls it internally.
- Drop dev_err_probe() calls where the error code is hard coded as -ENOMEM
  as they don't do anything.
- Drop dev_err() calls where the error code is -ENOMEM. This will reduce
  error prints, but memory failures generate a lot of messages anyway
  so unlikely we need these prints.
current-sense-amplifier
- Add #io-channels property this channel to be used by a consumer driver.
adi,ad7124
- Fix incorrect clocks dt-binding property.
- Make the mclk clock optional in DT - this is internal to the ADC so should
  never have been in he binding.
- Fix up sample rate to comply with ABI.
- Use read_avail() callback rather than opencoding similar.
- Deploy guard() to clean up some lock handling.
adi,ad7768
- Use devm_regulator_get_enable_read_voltage() to replace similar code.
adi,ad7816
- Drop an unnecessary dev_set_drvdata() call as nothing uses the data.
ad,adxl345
- Fix missing blank line before bullet list in documentation.
arm,scmi
- Use devm_kcalloc() for an array allocation rather than devm_kzalloc().
bosch,bmi270
- Match an ACPI ID seen in the wild. It is not spec compliant but we can't
  do much about that.
bosch,bmp280
- Drop overly noisy dev_info()
- Allow for sleeping gpio controllers.
gogle,cros-ec
- Drop unused location attribute that has been replaced by label.
invense,icm42600
- Simplify the power management.
- Use guard() to simplify some locking.
maxim,max1238
- Add io-channel-cells property to dt-binding as there is an in tree
  consumer.
microchip,mcp9600
- Specify a default value in dt-binding for the thermocouple type
- General whitespace cleanup.
samsung,exynos
- Drop support for the S3C2410 including bindings, and touchscreen support
  as nothing else uses that.
- Drop platform ID based binding as not used.
st,vl53l0x
- Fix returning the wrong variable in an error path.
ti,pac1934
- Replace open coded devm_mutex_init().
xilinx,ams
- Update maintainers entry.

* tag 'iio-for-6.18a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (178 commits)
  MAINTAINERS: Support ROHM BD79112 ADC
  iio: adc: Support ROHM BD79112 ADC/GPIO
  dt-bindings: iio: adc: ROHM BD79112 ADC/GPIO
  iio: pressure: bmp280: Use gpiod_set_value_cansleep()
  iio: pressure: bmp280: Remove noisy dev_info()
  iio: ABI: add filter types for ad7173
  iio: adc: ad7173: support changing filter type
  iio: adc: ad7173: rename odr field
  iio: adc: ad7173: rename ad7173_chan_spec_ext_info
  iio: adc: Add driver for Marvell 88PM886 PMIC ADC
  dt-bindings: mfd: 88pm886: Add #io-channel-cells
  iio: ABI: document "sinc4+rej60" filter_type
  iio: adc: ad7124: add filter support
  iio: adc: ad7124: support fractional sampling_frequency
  iio: adc: ad7124: use guard(mutex) to simplify return paths
  iio: adc: ad7124: use read_avail() for scale_available
  iio: adc: ad7124: use clamp()
  iio: adc: ad7124: fix sample rate for multi-channel use
  Documentation: ABI: iio: add sinc4+lp
  docs: iio: add documentation for ade9000 driver
  ...
parents cbcd30ae 561285d0
Loading
Loading
Loading
Loading
+46 −10
Original line number Diff line number Diff line
@@ -167,7 +167,18 @@ Description:
		is required is a consistent labeling.  Units after application
		of scale and offset are millivolts.

What:		/sys/bus/iio/devices/iio:deviceX/in_altvoltageY_rms_raw
KernelVersion:	6.18
Contact:	linux-iio@vger.kernel.org
Description:
		Raw (unscaled) Root Mean Square (RMS) voltage measurement from
		channel Y. Units after application of scale and offset are
		millivolts.

What:		/sys/bus/iio/devices/iio:deviceX/in_powerY_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_powerY_active_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_powerY_reactive_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_powerY_apparent_raw
KernelVersion:	4.5
Contact:	linux-iio@vger.kernel.org
Description:
@@ -176,6 +187,13 @@ Description:
		unique to allow association with event codes. Units after
		application of scale and offset are milliwatts.

What:		/sys/bus/iio/devices/iio:deviceX/in_powerY_powerfactor
KernelVersion:	6.18
Contact:	linux-iio@vger.kernel.org
Description:
		Power factor measurement from channel Y. Power factor is the
		ratio of active power to apparent power. The value is unitless.

What:		/sys/bus/iio/devices/iio:deviceX/in_capacitanceY_raw
KernelVersion:	3.2
Contact:	linux-iio@vger.kernel.org
@@ -1569,6 +1587,9 @@ Description:

What:		/sys/.../iio:deviceX/in_energy_input
What:		/sys/.../iio:deviceX/in_energy_raw
What:		/sys/.../iio:deviceX/in_energyY_active_raw
What:		/sys/.../iio:deviceX/in_energyY_reactive_raw
What:		/sys/.../iio:deviceX/in_energyY_apparent_raw
KernelVersion:	4.0
Contact:	linux-iio@vger.kernel.org
Description:
@@ -1707,6 +1728,14 @@ Description:
		component of the signal while the 'q' channel contains the quadrature
		component.

What:		/sys/bus/iio/devices/iio:deviceX/in_altcurrentY_rms_raw
KernelVersion:	6.18
Contact:	linux-iio@vger.kernel.org
Description:
		Raw (unscaled no bias removal etc.) Root Mean Square (RMS) current
		measurement from channel Y. Units after application of scale and
		offset are milliamps.

What:		/sys/.../iio:deviceX/in_energy_en
What:		/sys/.../iio:deviceX/in_distance_en
What:		/sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_en
@@ -2281,21 +2310,28 @@ Description:
		  conversion time. Poor noise performance.
		* "sinc3" - The digital sinc3 filter. Moderate 1st
		  conversion time. Good noise performance.
		* "sinc4" - Sinc 4. Excellent noise performance. Long
		  1st conversion time.
		* "sinc5" - The digital sinc5 filter. Excellent noise
		  performance
		* "sinc4+sinc1" - Sinc4 + averaging by 8. Low 1st conversion
		  time.
		* "sinc3+rej60" - Sinc3 + 60Hz rejection.
		* "sinc3+sinc1" - Sinc3 + averaging by 8. Low 1st conversion
		  time.
		* "sinc3+pf1" - Sinc3 + device specific Post Filter 1.
		* "sinc3+pf2" - Sinc3 + device specific Post Filter 2.
		* "sinc3+pf3" - Sinc3 + device specific Post Filter 3.
		* "sinc3+pf4" - Sinc3 + device specific Post Filter 4.
		* "sinc5+pf1" - Sinc5 + device specific Post Filter 1.
		* "sinc3+rej60" - Sinc3 + 60Hz rejection.
		* "sinc3+sinc1" - Sinc3 + averaging by 8. Low 1st conversion
		  time.
		* "sinc4" - Sinc 4. Excellent noise performance. Long
		  1st conversion time.
		* "sinc4+lp" - Sinc4 + Low Pass Filter.
		* "sinc4+sinc1" - Sinc4 + averaging by 8. Low 1st conversion
		  time.
		* "sinc4+rej60" - Sinc4 + 60Hz rejection.
		* "sinc5" - The digital sinc5 filter. Excellent noise
		  performance
		* "sinc5+avg" - Sinc5 + averaging by 4.
		* "sinc5+pf1" - Sinc5 + device specific Post Filter 1.
		* "sinc5+sinc1" - Sinc5 + Sinc1.
		* "sinc5+sinc1+pf1" - Sinc5 + Sinc1 + device specific Post Filter 1.
		* "sinc5+sinc1+pf2" - Sinc5 + Sinc1 + device specific Post Filter 2.
		* "sinc5+sinc1+pf3" - Sinc5 + Sinc1 + device specific Post Filter 3.
		* "sinc5+sinc1+pf4" - Sinc5 + Sinc1 + device specific Post Filter 4.
		* "wideband" - filter with wideband low ripple passband
		  and sharp transition band.

+0 −10
Original line number Diff line number Diff line
@@ -7,16 +7,6 @@ Description:
                corresponding calibration offsets can be read from `*_calibbias`
                entries.

What:		/sys/bus/iio/devices/iio:deviceX/location
Date:		July 2015
KernelVersion:	4.7
Contact:	linux-iio@vger.kernel.org
Description:
		This attribute returns a string with the physical location where
                the motion sensor is placed. For example, in a laptop a motion
                sensor can be located on the base or on the lid. Current valid
		values are 'base' and 'lid'.

What:		/sys/bus/iio/devices/iio:deviceX/id
Date:		September 2017
KernelVersion:	4.14
+2 −2
Original line number Diff line number Diff line
@@ -7,7 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: ADIS16240 Programmable Impact Sensor and Recorder driver

maintainers:
  - Alexandru Tachici <alexandru.tachici@analog.com>
  - Marcelo Schmitt <marcelo.schmitt@analog.com>
  - Nuno Sá <nuno.sa@analog.com>

description: |
  ADIS16240 Programmable Impact Sensor and Recorder driver that supports
@@ -37,7 +38,6 @@ unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    spi {
        #address-cells = <1>;
+0 −2
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
@@ -73,7 +72,6 @@ examples:
        };
    };
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    spi {
        #address-cells = <1>;
+0 −2
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
@@ -72,7 +71,6 @@ examples:
        };
    };
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    spi {
        #address-cells = <1>;
Loading