linux/drivers/iio/light
Greg Kroah-Hartman 7c0bc65c84 First set of new device support, features and cleanups for IIO in the 4.21 cycle
Along with the headline feature of 5 new drivers, we have the
 substantial addition of auxilliary sensor support on the lsm6sdx
 parts for ST.  There has also been a good set of staging cleanup
 in this period with more underway.
 
 An ever increasing number of devices supported with just a new
 ID which is a good sign that at least some manufacturers are
 continuing to stabilise their interfaces.
 
 New device support,
 * ad7124
   - New driver supporting Analog Devices' ad7124-4 and ad7124-8 parts
     with the inevitable DT binding.
 * ad7949
   - New driver supporting Analog Devices' ad7949, AD7682 and AD7689 ADCs.
 * rm3100
   - New driver supporting PNIs RM3100 magnometer with bindings and
     vendor prefix.
 * ti-dac7311
   - New driver supporting DAC7311, DAC6311 and DAC5311 TI DACs, with
     DT bindings.
 * vcnl5035
   - New driver supporting the light sensor part of the VCNL4035, with
     DT bindings
 
 Features,
 * bindings
   - Add a generic ADC channel binding as we keep reinventing this
     wheel.
 * adc128s052
   - Add IDs for additional pin compatible parts.
   - Add APCI ID seen on E3940 UP squared boards.
 * ad_sigma_delta
   - Allow for custom data register overiding default.
 * kxcjk1013
   - Add KIOX0009 ACPI ID as seen on the Acer One 10.
 * lsm6dsx
   - Rework leading to...
   - External sensor support using the built in I2C master.
   - Initial support for a slave lis2mdl magnetometer.
 * meson-saradc
   - Add temperature sensor support and bindings.
 * st_magn
   - New ID for lsm9dsl_magn with bindings
   - New ID for lis3de accelerometer
 * tpl0102
   - Add supprot for IIO_AVAIL_RANGE to report the range available
     from this device to userspace and in kernel users.
 
 Cleanups and minor fixes
 * tools
   - Allow outside specification of CFLAGS
 * ad2s90
   - Handle and spi_read error.
   - Handle spi_setup failure
   - Drop a pointless assignment.
   - Prevent a potentail race by moving device registration to after
     all other setup.
   - Add missing scale attribute.
   - Add a sanity check on channel type before trying to read it.
 * ad2s1210
   - Move to modern gpio descriptors.
   - Drop a gpioin flag which made no sense as far as we can tell.
   - Add dt table (bindings doc to follow when this is ready for
     moving out of staging).
 * ad5933
   - Drop camel-case naming of ext_clk_hz.
   - White space fixes.
 * ad7150
   - Local variable to shorten overly long line.
   - Alignment and line break fixes.
 * ad7280a
   - Handle an error path that was previously ignored.
   - Use crc8.h to build the crc table replacing custom code.
   - Avoid unecessary cast.
   - Power down the device if an error happens in probe
   - Use devm routines to simplify probe and remove.
 * ad7606
   - Alignment fixes.
 * ad7780
   - This worked as long as by coincidence an uninitialized value
     was 0.  Lets not rely on that.
   - Ensure gain update is only used with the ad778x chips that
     actually support it.
   - Tidy up pattern mask generation.
   - Read regulator when scale is requested (which should be infrequent)
     as it might have changed from initialization.
 * ad7816
   - Move to modern gpio descriptors
   - Don't use a busy_pin for ad7818 as there isn't one.
   - Ensure RD/WR and CONVST pins are outputs (previously they
     were brought up as inputs which doesn't seem to make any sense)
   - DT id table.
 * adc128s052
   - SPDX
 * adt7316
   - Alignment fix.
   - Fix data reading.  When using I2C the driver never actually
     used the value read.  This has been broken a very long time
     hence no rush to fix it now + the driver is undergoing a lot
     of cleanup.
   - Sanity check that the i2c read didn't fail to actually read
     anything.
 * dpot-dac
   - Mark a switch full through with slightly different text so that
     gcc doesn't warn on it.
 * gyro-adc
   - Fix a wrong file in the MAINTAINERS entry and add binding doc to the
     listed files.
 * ina2xx
   - Add some early returns to clarify error paths in switch.
 * lsm6dsx
   - MAINTAINERS entry.
 * max11100
   - SPDX
 * max9611
   - SPDX
 * mcp4131
   - use of_device_get_match_data in preference to spi_get_device_id
     approach.
 * rcar-adc
   - SPDX
 * sc27xx
   - Add ADC conversion timeout support to avoid possible fault.
 * ssp_sensors
   - Don't free managed resources manually.
 * st-magn
   - Add a comment to avoid future confusion over when to use -magn
     postfix (on multi chip in package parts)
   - Add BDU register for LIS3MDL where it seems to have been missed.
 * st-sensors
   - Minor spelling, grammar etc fixes.
 * tpl0102
   - Use a pointer rather than an index of an array to improve conciseness.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAlv1wDARHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0Fohf9Q//fzNk9RoY98awaEmHRW7PLnHe1WKyQTV5
 M13EaFwm/NeWfT1kaNd/heZDnwucB34ONrcueNcM8MfwzPwWaL9UvSqEnSWIuTae
 hKdn/BMTfy168xhu95YPjHw4X42HwcXYlHL9XFsA0WERgaWsQu2EwIy1/3XRgIrt
 QPQVyJNUkLZmBuGcd2UhxzdTiLuh/hs7FFBg037hxaR77slWYKqAzwVa6eyz/jvo
 tRT9RE50O1FT3eDkBSw91nkamFcmFyyA2j4HQ33Aitjs5O1ML95xEJ0tMAznZfKn
 zAGCCUJjFYBvWPOpQ8xBA3tplFRGIyVhPJ5ZU+B2vZcxVXQ3IFZNqKRXfrUkAXpf
 PK2+05+HjHk1g7Ms1Tj4lF5AtP/nEQ8dvmGk6/nDU7Gt4Ytrpb0DhAuMGmN4S5ih
 zwwh+c6fLGCMz7KE8AoegOn3WF/FW1ZppTRjOWgqt7OP6lgoChPuTV5HGzxiZgr+
 MzY/fytbXTnmfTL1ZvZYPdOSjkHcS9+8rwu1Jirmb1Y5Qt3qpNAUsdsnt965mQaE
 bHmuqw8QJN31goTEsqvjnsFhH57dJ1HbmG0MSrF8XB0bQB5Xzbkd+RV4fls1J+SG
 XwpIzQLhPxF5da6G+I/SIgLX6nASacJp9hHEN/ZuM3IKr2UW8FCpCH6JmyX0i6OU
 dPjHsXrGTuI=
 =78Y3
 -----END PGP SIGNATURE-----

Merge tag 'iio-for-4.21a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-testing

Jonathan writes:

First set of new device support, features and cleanups for IIO in the 4.21 cycle

Along with the headline feature of 5 new drivers, we have the
substantial addition of auxilliary sensor support on the lsm6sdx
parts for ST.  There has also been a good set of staging cleanup
in this period with more underway.

An ever increasing number of devices supported with just a new
ID which is a good sign that at least some manufacturers are
continuing to stabilise their interfaces.

New device support,
* ad7124
  - New driver supporting Analog Devices' ad7124-4 and ad7124-8 parts
    with the inevitable DT binding.
* ad7949
  - New driver supporting Analog Devices' ad7949, AD7682 and AD7689 ADCs.
* rm3100
  - New driver supporting PNIs RM3100 magnometer with bindings and
    vendor prefix.
* ti-dac7311
  - New driver supporting DAC7311, DAC6311 and DAC5311 TI DACs, with
    DT bindings.
* vcnl5035
  - New driver supporting the light sensor part of the VCNL4035, with
    DT bindings

Features,
* bindings
  - Add a generic ADC channel binding as we keep reinventing this
    wheel.
* adc128s052
  - Add IDs for additional pin compatible parts.
  - Add APCI ID seen on E3940 UP squared boards.
* ad_sigma_delta
  - Allow for custom data register overiding default.
* kxcjk1013
  - Add KIOX0009 ACPI ID as seen on the Acer One 10.
* lsm6dsx
  - Rework leading to...
  - External sensor support using the built in I2C master.
  - Initial support for a slave lis2mdl magnetometer.
* meson-saradc
  - Add temperature sensor support and bindings.
* st_magn
  - New ID for lsm9dsl_magn with bindings
  - New ID for lis3de accelerometer
* tpl0102
  - Add supprot for IIO_AVAIL_RANGE to report the range available
    from this device to userspace and in kernel users.

Cleanups and minor fixes
* tools
  - Allow outside specification of CFLAGS
* ad2s90
  - Handle and spi_read error.
  - Handle spi_setup failure
  - Drop a pointless assignment.
  - Prevent a potentail race by moving device registration to after
    all other setup.
  - Add missing scale attribute.
  - Add a sanity check on channel type before trying to read it.
* ad2s1210
  - Move to modern gpio descriptors.
  - Drop a gpioin flag which made no sense as far as we can tell.
  - Add dt table (bindings doc to follow when this is ready for
    moving out of staging).
* ad5933
  - Drop camel-case naming of ext_clk_hz.
  - White space fixes.
* ad7150
  - Local variable to shorten overly long line.
  - Alignment and line break fixes.
* ad7280a
  - Handle an error path that was previously ignored.
  - Use crc8.h to build the crc table replacing custom code.
  - Avoid unecessary cast.
  - Power down the device if an error happens in probe
  - Use devm routines to simplify probe and remove.
* ad7606
  - Alignment fixes.
* ad7780
  - This worked as long as by coincidence an uninitialized value
    was 0.  Lets not rely on that.
  - Ensure gain update is only used with the ad778x chips that
    actually support it.
  - Tidy up pattern mask generation.
  - Read regulator when scale is requested (which should be infrequent)
    as it might have changed from initialization.
* ad7816
  - Move to modern gpio descriptors
  - Don't use a busy_pin for ad7818 as there isn't one.
  - Ensure RD/WR and CONVST pins are outputs (previously they
    were brought up as inputs which doesn't seem to make any sense)
  - DT id table.
* adc128s052
  - SPDX
* adt7316
  - Alignment fix.
  - Fix data reading.  When using I2C the driver never actually
    used the value read.  This has been broken a very long time
    hence no rush to fix it now + the driver is undergoing a lot
    of cleanup.
  - Sanity check that the i2c read didn't fail to actually read
    anything.
* dpot-dac
  - Mark a switch full through with slightly different text so that
    gcc doesn't warn on it.
* gyro-adc
  - Fix a wrong file in the MAINTAINERS entry and add binding doc to the
    listed files.
* ina2xx
  - Add some early returns to clarify error paths in switch.
* lsm6dsx
  - MAINTAINERS entry.
* max11100
  - SPDX
* max9611
  - SPDX
* mcp4131
  - use of_device_get_match_data in preference to spi_get_device_id
    approach.
* rcar-adc
  - SPDX
* sc27xx
  - Add ADC conversion timeout support to avoid possible fault.
* ssp_sensors
  - Don't free managed resources manually.
* st-magn
  - Add a comment to avoid future confusion over when to use -magn
    postfix (on multi chip in package parts)
  - Add BDU register for LIS3MDL where it seems to have been missed.
* st-sensors
  - Minor spelling, grammar etc fixes.
* tpl0102
  - Use a pointer rather than an index of an array to improve conciseness.

* tag 'iio-for-4.21a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (80 commits)
  Staging: iio: adt7316: Add an extra check for 'ret' equals to 0
  Staging: iio: adt7316: Fix i2c data reading, set the data field
  dt-bindings: iio: adc: Add docs for ad7124
  iio: adc: Add ad7124 support
  dt-bindings: iio: adc: Add common ADCs properties to a separate file
  iio: ad_sigma_delta: Allow to provide custom data register address
  staging: iio: ad7816: Add device tree table.
  iio: imu: st_lsm6dsx: add entry in MAINTAINERS file
  iio: potentiometer: mcp4131: use of_device_get_match_data()
  staging: iio: adc: ad7280a: use devm_* APIs
  staging: iio: adc: ad7280a: power down the device on error in probe
  dt-bindings: iio: imu: st_lsm6dsx: add support to i2c pullup resistors
  iio: imu: st_lsm6dsx: add hw FIFO support to i2c controller
  iio: imu: st_lsm6dsx: add st_lsm6dsx_push_tagged_data routine
  iio: imu: st_lsm6dsx: add i2c embedded controller support
  iio: imu: st_lsm6dsx: introduce st_lsm6dsx_sensor_set_enable routine
  iio: imu: st_lsm6dsx: introduce ST_LSM6DSX_ID_EXT sensor ids
  iio: imu: st_lsm6dsx: remove static from st_lsm6dsx_set_watermark
  iio: imu: st_lsm6dsx: reload trimming parameter at bootstrap
  iio: imu: st_lsm6dsx: introduce locked read/write utility routines
  ...
2018-11-22 09:39:45 +01:00
..
acpi-als.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
adjd_s311.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
al3320a.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
apds9300.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
apds9960.c regmap: split up regmap_config.use_single_rw 2018-09-07 13:03:55 +01:00
bh1750.c iio: light: bh1750: Add device tree support 2018-09-29 12:26:07 +01:00
bh1780.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
cm3232.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
cm3323.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
cm3605.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
cm32181.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
cm36651.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
cros_ec_light_prox.c iio: cros_ec: Move cros_ec_sensors_core.h in /include 2018-03-17 19:59:20 +00:00
gp2ap020a00f.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
hid-sensor-als.c iio: Replace occurrences of magic number 0 by IIO_CHAN_INFO_RAW 2018-03-07 20:14:36 +00:00
hid-sensor-prox.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
isl29018.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
isl29028.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
isl29125.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
jsa1212.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
Kconfig iio: light: Add support for vishay vcnl4035 2018-11-16 18:32:29 +00:00
lm3533-als.c iio: Replace occurrences of magic number 0 by IIO_CHAN_INFO_RAW 2018-03-07 20:14:36 +00:00
ltr501.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
lv0104cs.c iio: light: lv0104cs: Add support for LV0104CS light sensor 2018-03-03 15:16:57 +00:00
Makefile iio: light: Add support for vishay vcnl4035 2018-11-16 18:32:29 +00:00
max44000.c Staging/IIO patches for 4.20-rc1 2018-10-29 10:38:10 -07:00
opt3001.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
pa12203001.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
rpr0521.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
si1133.c iio: light: si1133: fix uninitialized resp variable 2018-08-01 19:01:35 +01:00
si1145.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
st_uvis25_core.c iio: light: add support for UVIS25 sensor 2017-12-02 10:41:25 +00:00
st_uvis25_i2c.c iio: light: make a couple of config structures static 2018-01-08 16:03:41 +01:00
st_uvis25_spi.c iio: light: make a couple of config structures static 2018-01-08 16:03:41 +01:00
st_uvis25.h iio: light: add support for UVIS25 sensor 2017-12-02 10:41:25 +00:00
stk3310.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
tcs3414.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
tcs3472.c iio: light: tcs3472: support out-of-threshold events 2017-09-03 18:10:29 +01:00
tsl2563.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
tsl2583.c iio: tsl2583: correct values in integration_time_available 2018-05-20 10:29:28 +01:00
tsl2772.c iio: tsl2772: add support for regulator framework 2018-08-19 12:06:58 +01:00
tsl4531.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
us5182d.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
vcnl4000.c iio: vcnl4000: add support for VCNL4200 2018-07-29 12:19:28 +01:00
vcnl4035.c iio: light: Add support for vishay vcnl4035 2018-11-16 18:32:29 +00:00
veml6070.c iio:light: drop assign iio_info.driver_module and iio_trigger_ops.owner 2017-08-22 21:31:57 +01:00
vl6180.c iio: light: vl6180: Correct ALS scale for non-default gain/integration time 2017-10-09 20:50:21 +01:00
zopt2201.c iio: light: Add driver for IDT ZOPT2201 ambient light and UVB sensor 2017-12-02 10:39:48 +00:00