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

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

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

Jonathan writes:

1st set of IIO new device support, features and cleanup for 6.1

This includes Nuno Sa's work to move the IIO core over to generic firmware
properties rather than having DT specific code paths. Combined with Andy
Shevchenko's long term work on drivers, this leaves IIO in a good state for
handling other firmware types.

New device support
- liteon,ltrf216a
  * New driver and dt bindings to support this Light sensor.
- maxim,max11205
  * New driver for this 16bit single channel ADC.
- memsensing,msa311
  * New driver for this accelerometer. Includes a string helper for read/write.
- richtek,rtq6056
  * New driver and dt binding to support this current monitor used to measure
    power usage.
- yamaha,yas530
  * Support the YAS537 variant (series includes several fixes for other parts
    and new driver features).

Staging graduation
- adi,ad7746 CDC. Cleanup conducted against set of roadtest tests using
  the posted RFC of that framework.

Features
- core
  * Large rework to make all the core IIO code use generic firmware properties.
    Includes switching some drivers over as well using newly provided
    generic interfaces and allowing removal of DT specific ones.
  * Support for gesture event types for single and double tap. Used in
    bosch,bma400.
- atmel,at91-sama5d2
  * Add support for temperature sensor which uses two muxed inputs to estimate
    the temperature.
  * Handle trackx bits of EMR register to improve temp sampling accuracy.
  * Runtime PM support.
- liteon,ltrf216a
  * Add a _raw channel output to allow working around an issue with
    differing conversions equations that breaks some user space controls.
- mexelis,mlx90632
  * Support regulator control.
- ti,tsc2046
  * External reference voltage support.

Clean up and minor fixes
- Tree-wide
  * devm_clk_get_enabled() replacements of opencoded equivalent.
  * Remaining IIO_DMA_MINALIGN conversions (the staging/iio drivers).
  * Various minor warning and similar cleanup such as missing static
    markings.
  * strlcpy() to strscpy() for cases where return value not checked.
  * provide units.h entries for more HZ units and use them in drivers.
- dt-bindings cleanup
  * Drop maintainers listss where the email address is bouncing.
  * Switch spi devices over to using spi-peripheral.yaml
  * Add some missing unevaluatedProperties / additionalProperties: false
    entries.
- ABI docs
  * Add some missing channel type specific sampling frequency entries.
  * Add parameter names for callback parameters.
- MAINTAINERS
  * Fix wrong ADI forum links.
- core
  * lockdep class per device, to avoid an issue with nest when one IIO
    device is the consumer of another.
  * White space tweaks.
- asc,dlhl60d
  * Use get_unaligned_be24 to avoid some unusual data manipulation and masking.
- atmel,at91-sama5d2
  * Fix wrong max value.
  * Improve error handling when measuring pressure and touch.
  * Add locks to remove races on updating oversampling / sampling freq.
  * Add missing calls in suspend and resume path to ensure state is correctly
    brought up if buffered capture was in use when suspend happened.
  * Error out of write_raw() callback if buffered capture enabled to avoid
    unpredictable behavior.
  * Handle different versions having different oversampling ratio support and
    drop excess error checking.
  * Cleanup magic value defines where the name is just the value and hence
    hurts readability.
  * Use read_avail() callback to provide info on possible oversampling ratios.
  * Correctly handle variable bit depth when doing oversampling on different
    supported parts. Also handle higher oversampling ratios.
- fsl,imx8qxp
  * Don't ignore errors from regulator_get_voltage() so as to avoid some
    very surprising scaling.
- invensense,icp10100
  * Switch from UNIVERSAL to DEFINE_RUNTIME_DEV_PM_OPS. UNIVERSAL rarely made
    sense and is now deprecated. In this driver we just avoid double disabling
    in some paths.
- maxim,max1363
  * Drop consumer channel map provision by platform data. There have been
    better ways of doing this for years and there are no in tree users.
- microchip,mcp3911
  * Update status to maintained.
- qcom,spmi-adc5
  * Support measurement of LDO output voltage.
- qcom,spmi-adc
  * Add missing channel available on SM6125 SoC.
- st,stmpe
  * Drop requirement on node name in binding now that driver correctly
    doesn't enforce it.
- stx104
  * Move to more appropriate addac directory
- ti,am335x
  * Document ti,am654-adc compatible already in use in tree.
- ti,hmc5843
  * Move dev_pm_ops out of header and use new pm macros to handle export.
- yamaha,yas530
  * Minor cleanups.

* tag 'iio-for-6.1a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (142 commits)
  iio: pressure: icp10100: Switch from UNIVERSAL to DEFINE_RUNTIME_DEV_PM_OPS().
  iio: adc: max1363: Drop provision to provide an IIO channel map via platform data
  iio: accel: bma400: Add support for single and double tap events
  iio: Add new event type gesture and use direction for single and double tap
  iio: Use per-device lockdep class for mlock
  iio: adc: add max11205 adc driver
  dt-bindings: iio: adc: Add max11205 documentation file
  iio: magnetometer: yamaha-yas530: Use dev_err_probe()
  iio: magnetometer: yamaha-yas530: Make strings const in chip info
  iio: magnetometer: yamaha-yas530: Use pointers as driver data
  iio: adc: tsc2046: silent spi_device_id warning
  iio: adc: tsc2046: add vref support
  dt-bindings: iio: adc: ti,tsc2046: add vref-supply property
  iio: light: ltrf216a: Add raw attribute
  dt-bindings: iio: Add missing (unevaluated|additional)Properties on child nodes
  MAINTAINERS: fix Analog Devices forum links
  iio/accel: fix repeated words in comments
  dt-bindings: iio: accel: add dt-binding schema for msa311 accel driver
  iio: add MEMSensing MSA311 3-axis accelerometer driver
  dt-bindings: vendor-prefixes: add MEMSensing Microsystems Co., Ltd.
  ...
parents bfbb5884 2f61ff82
Loading
Loading
Loading
Loading
+100 −1
Original line number Diff line number Diff line
@@ -196,7 +196,7 @@ Description:
		Raw capacitance measurement from channel Y. Units after
		application of scale and offset are nanofarads.

What:		/sys/.../iio:deviceX/in_capacitanceY-in_capacitanceZ_raw
What:		/sys/.../iio:deviceX/in_capacitanceY-capacitanceZ_raw
KernelVersion:	3.2
Contact:	linux-iio@vger.kernel.org
Description:
@@ -207,6 +207,25 @@ Description:
		is required is a consistent labeling.  Units after application
		of scale and offset are nanofarads.

What:		/sys/.../iio:deviceX/in_capacitanceY-capacitanceZ_zeropoint
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		For differential channels, this an offset that is applied
		equally to both inputs. As the reading is of the difference
		between the two inputs, this should not be applied to the _raw
		reading by userspace (unlike _offset) and unlike calibbias
		it does not affect the differential value measured because
		the effect of _zeropoint cancels out across the two inputs
		that make up the differential pair. It's purpose is to bring
		the individual signals, before the differential is measured,
		within the measurement range of the device. The naming is
		chosen because if the separate inputs that make the
		differential pair are drawn on a graph in their
		_raw  units, this is the value that the zero point on the
		measurement axis represents. It is expressed with the
		same scaling as _raw.

What:		/sys/bus/iio/devices/iio:deviceX/in_temp_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_tempX_raw
What:		/sys/bus/iio/devices/iio:deviceX/in_temp_x_raw
@@ -2038,3 +2057,83 @@ Description:
		Available range for the forced calibration value, expressed as:

		- a range specified as "[min step max]"

What:		/sys/bus/iio/devices/iio:deviceX/in_voltageX_sampling_frequency
What:		/sys/bus/iio/devices/iio:deviceX/in_powerY_sampling_frequency
What:		/sys/bus/iio/devices/iio:deviceX/in_currentZ_sampling_frequency
KernelVersion:	5.20
Contact:	linux-iio@vger.kernel.org
Description:
		Some devices have separate controls of sampling frequency for
		individual channels. If multiple channels are enabled in a scan,
		then the sampling_frequency of the scan may be computed from the
		per channel sampling frequencies.

What:		/sys/.../events/in_accel_gesture_singletap_en
What:		/sys/.../events/in_accel_gesture_doubletap_en
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Device generates an event on a single or double tap.

What:		/sys/.../events/in_accel_gesture_singletap_value
What:		/sys/.../events/in_accel_gesture_doubletap_value
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Specifies the threshold value that the device is comparing
		against to generate the tap gesture event. The lower
		threshold value increases the sensitivity of tap detection.
		Units and the exact meaning of value are device-specific.

What:		/sys/.../events/in_accel_gesture_tap_value_available
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Lists all available threshold values which can be used to
		modify the sensitivity of the tap detection.

What:		/sys/.../events/in_accel_gesture_singletap_reset_timeout
What:		/sys/.../events/in_accel_gesture_doubletap_reset_timeout
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Specifies the timeout value in seconds for the tap detector
		to not to look for another tap event after the event as
		occurred. Basically the minimum quiet time between the two
		single-tap's or two double-tap's.

What:		/sys/.../events/in_accel_gesture_tap_reset_timeout_available
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Lists all available tap reset timeout values. Units in seconds.

What:		/sys/.../events/in_accel_gesture_doubletap_tap2_min_delay
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Specifies the minimum quiet time in seconds between the two
		taps of a double tap.

What:		/sys/.../events/in_accel_gesture_doubletap_tap2_min_delay_available
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Lists all available delay values between two taps in the double
		tap. Units in seconds.

What:		/sys/.../events/in_accel_gesture_tap_maxtomin_time
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Specifies the maximum time difference allowed between upper
		and lower peak of tap to consider it as the valid tap event.
		Units in seconds.

What:		/sys/.../events/in_accel_gesture_tap_maxtomin_time_available
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Lists all available time values between upper peak to lower
		peak. Units in seconds.
+11 −0
Original line number Diff line number Diff line
What:		/sys/.../iio:deviceX/in_capacitableY_calibbias_calibration
What:		/sys/.../iio:deviceX/in_capacitableY_calibscale_calibration
KernelVersion:	6.1
Contact:	linux-iio@vger.kernel.org
Description:
		Write 1 to trigger a calibration of the calibbias or
		calibscale. For calibscale, a full scale capacitance should
		be connected to the capacitance input and a
		calibscale_calibration then started.  For calibbias see
		the device datasheet section on "capacitive system offset
		calibration".
+4 −3
Original line number Diff line number Diff line
@@ -27,15 +27,16 @@ properties:
  interrupts:
    maxItems: 1

  spi-max-frequency: true

  vdd-supply: true

required:
  - compatible
  - reg

additionalProperties: false
allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
+4 −3
Original line number Diff line number Diff line
@@ -25,14 +25,15 @@ properties:
  interrupts:
    maxItems: 1

  spi-max-frequency: true

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false
allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
+4 −3
Original line number Diff line number Diff line
@@ -24,8 +24,6 @@ properties:

  spi-3wire: true

  spi-max-frequency: true

  vs-supply:
    description: Regulator that supplies power to the accelerometer

@@ -48,7 +46,10 @@ required:
  - compatible
  - reg

additionalProperties: false
allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
Loading