Linux kernel source tree
Go to file
Greg Kroah-Hartman 2db573c5dc IIO: 1st set of new device support, cleanups etc for 6.11
Lots of new device support and 3 entirely new drivers.
 
 Early pull request this cycle to allow for clean picking up of fixes
 that are dependencies for some queued patch sets.
 
 Device support
 ==============
 
 adi,ad3552r
 - Add AD3541R and AD3551R - single output variants of already supported
   DACs.
 
 adi,ad7192
 - Add support for ad7194 24-bit ADC with integrated PGA.
 
 adi,ad7380
 - New ADC driver built up in a number of steps. Supports
   - 2 channel differential ADCs: AD7380, AD7381
   - 4 channel differential ADCs: AD7380-4, AD7381-4
   - 2 channel pseudo-differential ADCs: AD7383, AD7384
   - 4 channel pseudo-differential ADCs: AD7383-4, AD7384-4
 
 adi,adis16475
 - Support ADS16501 variant - ID and some different scale factors from
   parts already supported.
 - Driver refactoring then enables support for 6 more IMUs:
   - ADIS16575-[2,3]
   - ADIS16576-[2,3]
   - ADIS16577-[2,3]
 
 adi,adsi16480
 - Driver refactoring and feature additions leading to support for 6 more
   IMUs - with new delta angle and delta velocity feature:
   - ADIS16545-[1,2,3]
   - ADIS16547-[1,2,3]
 
 bosch,bmi160
 - Support for the bmi120 IMU: ID only. Also relax ID checking to warn
   only on mismatch allowing use of fallback compatibles for new devices.
 
 sciosense,ens160
 - New driver for this metal oxide multi-gas sensor for indoor
   air quality monitoring.
 
 sensortek,stk3110
 - Support for stk3311a and stk3311s34 light sensor variants. Relax ID
   checking to warn only on a mismatch allowing use of fallback compatibles
   for new devices.
 
 vishay,veml6040
 - New driver for this RGBW light sensor. Note that whilst the register
   interface is very different, the dt-binding similar enough that it is
   shared with the existing vishay,veml6075 binding
 
 x-powers,axp20x
 - Add support for axp192, very similar to another supported PMIC ADC variant
   but with a few more GPIO channels.
 
 Dt-binding only
 ===============
 
 ti,ads1015
 - Add binding (no driver support yet) for ti,tla2021
 
 New features
 ============
 core
 - Variable scan type support.  We have papered over this for a long time
   so good to finally resolve it.
   Some devices will change their data output format (typically resolution)
   dependent on settings such as oversampling.  A new callback is added
   to enable this. First used in the ad7380 driver.
 - Harden the core against missing callback functions.
 
 dt-binding:
 - Add a single-channel property that can be used in per channel nodes
   instead of reg to indicate which device channel.  This is important
   in devices with a mixture of differential and single ended channels
   as reg already just acted as an index for the differential channels
   making things inconsistent if it had more meaning for single ended
   channels.
 
 adi,ad7380
 - Use spi_optimize_message() to reduce reading message setup overhead.
 - Add oversampling support using the new core functionality to allow
   a device support multiple scan types.
 
 invense,icm42600
 - Support for low-power accelerometer modes.  When a given sampling
   frequency is only supported at one power mode, use that. Otherwise
   default to low power at the cost of some noise unless overridden
   via a new sysfs attribute.
 
 silicon-labs,si70720
 - Add control of the heater.
 
 Cleanups and minor fixes
 ========================
 
 core
 - Cleanup use of sizeof(struct xxxx) in favor of sizeof(*variable)
 
 Makefile
 - Resort the iio/adc/Makefile which has drifted away from alphabetical
   order.
 
 gts library
 - Fix sorting of lists with a zero in the middle. Doesn't happen with
   upstream drivers, but good to harden this code.  Add a related unit test.
 
 multiple drivers
 - Add missing MODULE_DESCRIPTION()
 - Drop some unused structure fields.
 - Drop some entirely unused structure definitions.
 - Stop pointless initialization of i2c_device_id::driver_data to 0 in drivers
   where it isn't used.
 - Use spi_get_device_match_data() to replace open-coded equivalent.
 
 adi,ad3552r
 - Fix dt gain parameter names to reflect what the driver does. Note
   discussion in patch to justify fixing it in the binding not the
   driver.
 - Tidy up some naming.
 
 adi,ad7192
 - Use read_avail() callback to handle the low pass filter.
 - Add an aincom supply for pseudo differential operation.
 
 adi,ad7606
 - Use iio_device_claim_direct_scoped() to simplify error paths.
 
 adi,ad7944
 - Drop an unused function parameter.
 
 adi,adrf6780
 - Drop unused header.
 
 adi,ad9467
 - Use a DMA safe buffer for SPI transfers.
 - Stop using tabs to pad structure field names. It was creating a lot
   of noise.
 
 adi,axi-adc
 - Prevent races between enable and disable calls.
 - Ensure the DRP (dynamic reconfiguration port) is locked. Not used
   in most real designs, but better safe than sorry.
 - Limit build to COMPILE_TEST or platforms for which the IP exists.
 
 adi,axi-dac
 - Limit build to COMPILE_TEST or platforms for which the IP exists.
 
 ams,iaq
 - Use __packed instead of ___attribute__((__packed__))
 
 bosch,bmp280
 - White space cleanup.
 - Use BME280 prefix for registers that do not exist on the BMP280.
 - Add parameter names to callback function definitions.
 - Rename measure function to better reflect what it does which is wait
   for a measurement to happen.
 - Drop a redundant error check.
 - Improve error messages
 - Make error checks consistent as if (ret)
 - Use unsigned types for inherently unsigned data.
 - Refactor reading functions to not rely on a hidden t_fine variable.
 - Make use of cleanup.h
 
 freescale,mma7660
 - Add mount matrix support.
 
 invense,icm42600
 - Enable the regmap cache to reduce bus accesses.
 
 amlogic,meson-saradc
 - Add dt-binding support for power-domains.
 
 ti,adc161s626
 - Use iio_device_claim_direct_scoped() to simplify error handling.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmZtancRHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0FojwxRAAoRXl9zfoB4KWHaxVvh3t6JWY5Yt+oJzp
 Ian4kBPYEj5xWWkeIpYphrZh3eBWdzmE1ATH0C5qS3w4oYzp9qdk6JWD2npS/76u
 1s5iHsF36H1/LetE79m3ky9DDIEY0IfxP1VyQzRm+YghzA36GtsNdXbXTn8l7Nuz
 6tFbhUoEdUXxVNLEzi/32rlce9sw2/FVak9A/d2AQp50gY7kGm4m+GUsfPLFTZ0M
 5Y66HFdH859I2UHqbw/2Pp2xqqPLdxGscwnII02FAD7OvW5d5X9VVrurL56zAdeU
 U/022Dh8df4FRs0S9ldB/LX3n6uqejYfpirQt7iRgXEevlR6lOI0bsk1kcNOxOWE
 kl4u+kTr3dgx7MdaIYV1hvCCDlpbHRzSpMW/K5Q/3EytApvduNROHFhxBhh0j+18
 4z7F48HDidKEvv4U7808OrFtGHIia0MTdeliDz7gPqOBUi2DYsSCnh/Y20/RhIDT
 TU6YvWpFjt1GQtc9EOta58PkCwXDfbGHqqD6T/eE42gv19RgM7752vWY8lcWUZL1
 cZI0NTXrrKVh6RDufW8nPYeAmGKtHvNFk0wLzT4ZVpz6qoT9x3wQW7GileEXvePr
 x+lcuQGUmN7SSDqS3f9Krb0m75gI0P6dBT1yhzR6osm0yn6mKq7/25wHSNBsl1wp
 WYVIF2Chm/0=
 =HYU0
 -----END PGP SIGNATURE-----

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

Jonathan writes:

IIO: 1st set of new device support, cleanups etc for 6.11

Lots of new device support and 3 entirely new drivers.

Early pull request this cycle to allow for clean picking up of fixes
that are dependencies for some queued patch sets.

Device support
==============

adi,ad3552r
- Add AD3541R and AD3551R - single output variants of already supported
  DACs.

adi,ad7192
- Add support for ad7194 24-bit ADC with integrated PGA.

adi,ad7380
- New ADC driver built up in a number of steps. Supports
  - 2 channel differential ADCs: AD7380, AD7381
  - 4 channel differential ADCs: AD7380-4, AD7381-4
  - 2 channel pseudo-differential ADCs: AD7383, AD7384
  - 4 channel pseudo-differential ADCs: AD7383-4, AD7384-4

adi,adis16475
- Support ADS16501 variant - ID and some different scale factors from
  parts already supported.
- Driver refactoring then enables support for 6 more IMUs:
  - ADIS16575-[2,3]
  - ADIS16576-[2,3]
  - ADIS16577-[2,3]

adi,adsi16480
- Driver refactoring and feature additions leading to support for 6 more
  IMUs - with new delta angle and delta velocity feature:
  - ADIS16545-[1,2,3]
  - ADIS16547-[1,2,3]

bosch,bmi160
- Support for the bmi120 IMU: ID only. Also relax ID checking to warn
  only on mismatch allowing use of fallback compatibles for new devices.

sciosense,ens160
- New driver for this metal oxide multi-gas sensor for indoor
  air quality monitoring.

sensortek,stk3110
- Support for stk3311a and stk3311s34 light sensor variants. Relax ID
  checking to warn only on a mismatch allowing use of fallback compatibles
  for new devices.

vishay,veml6040
- New driver for this RGBW light sensor. Note that whilst the register
  interface is very different, the dt-binding similar enough that it is
  shared with the existing vishay,veml6075 binding

x-powers,axp20x
- Add support for axp192, very similar to another supported PMIC ADC variant
  but with a few more GPIO channels.

Dt-binding only
===============

ti,ads1015
- Add binding (no driver support yet) for ti,tla2021

New features
============
core
- Variable scan type support.  We have papered over this for a long time
  so good to finally resolve it.
  Some devices will change their data output format (typically resolution)
  dependent on settings such as oversampling.  A new callback is added
  to enable this. First used in the ad7380 driver.
- Harden the core against missing callback functions.

dt-binding:
- Add a single-channel property that can be used in per channel nodes
  instead of reg to indicate which device channel.  This is important
  in devices with a mixture of differential and single ended channels
  as reg already just acted as an index for the differential channels
  making things inconsistent if it had more meaning for single ended
  channels.

adi,ad7380
- Use spi_optimize_message() to reduce reading message setup overhead.
- Add oversampling support using the new core functionality to allow
  a device support multiple scan types.

invense,icm42600
- Support for low-power accelerometer modes.  When a given sampling
  frequency is only supported at one power mode, use that. Otherwise
  default to low power at the cost of some noise unless overridden
  via a new sysfs attribute.

silicon-labs,si70720
- Add control of the heater.

Cleanups and minor fixes
========================

core
- Cleanup use of sizeof(struct xxxx) in favor of sizeof(*variable)

Makefile
- Resort the iio/adc/Makefile which has drifted away from alphabetical
  order.

gts library
- Fix sorting of lists with a zero in the middle. Doesn't happen with
  upstream drivers, but good to harden this code.  Add a related unit test.

multiple drivers
- Add missing MODULE_DESCRIPTION()
- Drop some unused structure fields.
- Drop some entirely unused structure definitions.
- Stop pointless initialization of i2c_device_id::driver_data to 0 in drivers
  where it isn't used.
- Use spi_get_device_match_data() to replace open-coded equivalent.

adi,ad3552r
- Fix dt gain parameter names to reflect what the driver does. Note
  discussion in patch to justify fixing it in the binding not the
  driver.
- Tidy up some naming.

adi,ad7192
- Use read_avail() callback to handle the low pass filter.
- Add an aincom supply for pseudo differential operation.

adi,ad7606
- Use iio_device_claim_direct_scoped() to simplify error paths.

adi,ad7944
- Drop an unused function parameter.

adi,adrf6780
- Drop unused header.

adi,ad9467
- Use a DMA safe buffer for SPI transfers.
- Stop using tabs to pad structure field names. It was creating a lot
  of noise.

adi,axi-adc
- Prevent races between enable and disable calls.
- Ensure the DRP (dynamic reconfiguration port) is locked. Not used
  in most real designs, but better safe than sorry.
- Limit build to COMPILE_TEST or platforms for which the IP exists.

adi,axi-dac
- Limit build to COMPILE_TEST or platforms for which the IP exists.

ams,iaq
- Use __packed instead of ___attribute__((__packed__))

bosch,bmp280
- White space cleanup.
- Use BME280 prefix for registers that do not exist on the BMP280.
- Add parameter names to callback function definitions.
- Rename measure function to better reflect what it does which is wait
  for a measurement to happen.
- Drop a redundant error check.
- Improve error messages
- Make error checks consistent as if (ret)
- Use unsigned types for inherently unsigned data.
- Refactor reading functions to not rely on a hidden t_fine variable.
- Make use of cleanup.h

freescale,mma7660
- Add mount matrix support.

invense,icm42600
- Enable the regmap cache to reduce bus accesses.

amlogic,meson-saradc
- Add dt-binding support for power-domains.

ti,adc161s626
- Use iio_device_claim_direct_scoped() to simplify error handling.

* tag 'iio-for-6.11a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (107 commits)
  iio: imu: inv_icm42600: add support of accel low-power mode
  iio: document inv_icm42600 driver private sysfs attributes
  MAINTAINERS: Add ScioSense ENS160
  iio: chemical: ens160: add power management support
  iio: chemical: ens160: add triggered buffer support
  iio: chemical: add driver for ENS160 sensor
  dt-bindings: iio: chemical: add ENS160 sensor
  dt-bindings: vendor-prefixes: add ScioSense
  iio: temperature: mcp9600: add threshold events support
  dt-bindings: iio: light: add VEML6040 RGBW-LS
  iio: light: driver for Vishay VEML6040
  dt-bindings: iio: adc: amlogic,meson-saradc: add optional power-domains
  iio: dac: adi-axi-dac: add platform dependencies
  iio: adc: adi-axi-adc: add platform dependencies
  iio: imu: inv_icm42600: add register caching in the regmap
  iio: adc: mcp3564: drop redundant open-coded spi_get_device_match_data()
  iio: dac: max5522: simplify with spi_get_device_match_data()
  iio: addac: ad74413r: simplify with spi_get_device_match_data()
  iio: adc: ti-tsc2046: simplify with spi_get_device_match_data()
  iio: adc: ti-ads131e08: simplify with spi_get_device_match_data()
  ...
2024-06-16 12:03:31 +02:00
arch Miscellaneous topology parsing fixes: 2024-06-02 09:32:34 -07:00
block blk-throttle: Fix incorrect display of io.max 2024-05-30 19:44:29 -06:00
certs kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
crypto This push fixes a bug in the new ecc P521 code as well as a buggy 2024-05-20 08:47:54 -07:00
Documentation IIO: 1st set of new device support, cleanups etc for 6.11 2024-06-16 12:03:31 +02:00
drivers IIO: 1st set of new device support, cleanups etc for 6.11 2024-06-16 12:03:31 +02:00
fs 2 small smb3 fixes 2024-06-01 14:35:57 -07:00
include IIO: 1st set of new device support, cleanups etc for 6.11 2024-06-16 12:03:31 +02:00
init Driver core changes for 6.10-rc1 2024-05-22 12:13:40 -07:00
io_uring io_uring/net: assign kmsg inq/flags before buffer selection 2024-05-30 14:04:37 -06:00
ipc Mainly singleton patches, documented in their respective changelogs. 2024-05-19 14:02:03 -07:00
kernel Kbuild fixes for v6.10 2024-06-01 09:33:55 -07:00
lib lib/math: add missing MODULE_DESCRIPTION() macros 2024-06-04 17:40:07 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm 16 hotfixes, 11 of which are cc:stable. 2024-05-25 15:10:33 -07:00
net Including fixes from bpf and netfilter. 2024-05-30 08:33:04 -07:00
rust LoongArch changes for v6.10 2024-05-22 09:43:07 -07:00
samples tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
scripts dt-bindings: kbuild: Fix dt_binding_check on unconfigured build 2024-05-30 01:15:58 +09:00
security landlock: Fix d_parent walk 2024-05-31 16:41:52 +02:00
sound ALSA: seq: ump: Fix swapped song position pointer data 2024-05-31 09:51:44 +02:00
tools Landlock fix for v6.10-rc2 2024-06-01 08:28:24 -07:00
usr kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
virt The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
.clang-format clang-format: Update with v6.7-rc4's for_each macro list 2023-12-08 23:54:38 +01:00
.cocciconfig
.editorconfig Add .editorconfig file for basic formatting 2023-12-28 16:22:47 +09:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: create a list of all built DTB files 2024-02-19 18:20:39 +09:00
.mailmap mailmap: update entry for Kees Cook 2024-05-31 08:58:36 -07:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING
CREDITS MAINTAINERS: Drop Gustavo Pimentel as PCI DWC Maintainer 2024-03-27 13:41:02 -05:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS IIO: 1st set of new device support, cleanups etc for 6.11 2024-06-16 12:03:31 +02:00
Makefile Linux 6.10-rc2 2024-06-02 15:44:56 -07:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.