Merge tag 'iio-for-5.8c' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Third set of IIO new device support, cleanups etc for the 5.8 cycle.
A rather late final set to pick up a couple of new drivers, a bunch
of cleanup and some fixes that can wait for the merge window.
In particularly I'd like to highlight the great core and driver
cleanup work that the Alex and the team at Analog devices are currently
doing. Should see lots more of that in the next cycle give what is
currently under review.
This pull also has the first few fixes squashing a class of alignment
and small kernel data leak bugs that Lars-Peter Clausen picked up
on in a review. Quite a few more of those to come. They've been
there a long time so we aren't rushing the reviews.
New device support
* atlas ezo
- new driver supporting this range of chemical and similar sensors
with the odd interface of ascii strings over i2c.
- bma023, bma150 and smb380 support. Note these are currently also
supported by a driver in input which we will hopefully remove
(eventually). There are Kconfig protections to avoid a clash
in the meantime.
- new driver for this proximity sensor.
* during buffer updates, change the current state variable before
we actually call pre and post enable callbacks so drivers can know
where we are going. Note this is a precursor to only exposing
one enable callback to drivers. The (false) logic behind having two
such callbacks has long been fixed, but only now is the mess getting
* exynos adc.
- add reporting of channels scale values.
Cleanups and minor fixes.
- drop now unused attrcount_orig variable.
* ad5360, ad5446, ad5449, ad5755, ad5761, ad5764, ad5380, ad5421,
ad5592, ad5686 and vf610_dac
- remove direct use of iio_dev->mlock from all these drivers.
Its semantics used to be poorly defined, but now it is for core
use only. Removing it's use in drivers has been a long process
of which this is the latest step!
- drop a pointless check on the phy as the driver doesn't access it.
- avoid a dance from iio_priv and iio_priv_to_dev back again by
just passing the iio_dev into the functions.
- alignment and potential data leak fix.
- alignment bug fix.
* tag 'iio-for-5.8c' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (31 commits)
iio:chemical:pms7003: Fix timestamp alignment and prevent data leak.
iio:chemical:sps30: Fix timestamp alignment
iio: adc: stm32-adc: fix a wrong error message when probing interrupts
iio: light: gp2ap002: Take runtime PM reference on light read
iio: proximity: ping: pass reference to IIO device as param to ping_read()
iio: dac: ad5592r-base: Replace indio_dev->mlock with own device lock
iio: proximity: Add driver support for vcnl3020 proximity sensor
dt-bindings: proximity: provide vcnl3020 device tree binding document
iio: buffer: remove attrcount_orig var from sysfs creation
iio: chemical: add atlas-ezo-sensor initial support
dt-bindings: iio: chemical: add CO2 EZO module documentation
iio: adc: exynos: Simplify Exynos7-specific init
iio: adc: Add scaling support to exynos adc driver
iio: __iio_update_buffers: Update mode before preenable/after postdisable
iio: dac: vf610_dac: Replace indio_dev->mlock with own device lock
iio: dac: ad5686: Replace indio_dev->mlock with own device lock
iio: dac: ad5421: Replace indio_dev->mlock with own device lock
iio: dac: ad5380: Replace indio_dev->mlock with own device lock
iio: dac: ad5764: Replace indio_dev->mlock with own device lock
iio: dac: ad5761: Replace indio_dev->mlock with own device lock