Merge tag 'iio-fixes-for-5.9a' of https://git.kernel.org/pub/scm/linux/kernel/git...
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 31 Aug 2020 10:24:44 +0000 (12:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 31 Aug 2020 10:24:44 +0000 (12:24 +0200)
commitc96711e138444d37d6d8b3f0fa7f09e4917cd326
tree24b50934e355163a167d9f01bc8cc72427e95dd2
parent1dffeb8b8b4c261c45416d53c75ea51e6ece1770
parent3f1093d83d7164e4705e4232ccf76da54adfda85
Merge tag 'iio-fixes-for-5.9a' of https://git./linux/kernel/git/jic23/iio into staging-linus

Jonathan writes:

First set of IIO fixes for the 5.9 cycle

Most of the fixes this time are for a long term issue that Lars-Peter
Clausen identified recently.

IIO assumes that any data pushed to the buffer interface (either kfifo
or another in kernel consumer) are naturally aligned.  Unfortunately
this isn't true in a number of drivers, mostly by failing to ensure
the buffer used is aligned suitably for an s64 timestamp.

For the ones covered this time we use a structure to enforce this
alignment, with the added need for __aligned(8) to ensure 8 byte
alignment of the timestamp on x86_32 and similar platforms where
it would be 4 byte aligned giving different padded from some other
architectures.

Patches to make this requirement clearer and potentially cause an
error print will follow once we've cleaned up existing cases.
Note that it is a very hard to hit problem and as a result of this
as we only have one bug report despite the problem being present
for many years.

Other fixes:
* cros_ec:
  - set gyroscope default frequency. For some older boards not having
    this set can lead to a choice that doesn't work.
* counter,microchip-tcb-capture:
  - Fix a wrong value check in error check.
* mcp3422
  - Fix locking to protect against race condition.
* meson-adc
  - Use right device when looking up fuse values for calibration.
* rockchip-adc
  - Fix missing Kconfig dependency.
* ti-ads1015:
  - Fix reading when CONFIG_PM not set.

* tag 'iio-fixes-for-5.9a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio:
  iio: adc: mcp3422: fix locking scope
  iio: adc: meson-saradc: Use the parent device to look up the calib data
  iio:adc:max1118 Fix alignment of timestamp and data leak issues
  iio:adc:ina2xx Fix timestamp alignment issue.
  iio:adc:ti-adc084s021 Fix alignment and data leak issues.
  iio:adc:ti-adc081c Fix alignment and data leak issues
  iio:magnetometer:ak8975 Fix alignment and data leak issues.
  iio:light:ltr501 Fix timestamp alignment issue.
  iio:light:max44000 Fix timestamp alignment and prevent data leak.
  iio:chemical:ccs811: Fix timestamp alignment and prevent data leak.
  iio:proximity:mb1232: Fix timestamp alignment and prevent data leak.
  iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
  iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
  iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
  iio: accel: kxsd9: Fix alignment of local buffer.
  iio: adc: rockchip_saradc: select IIO_TRIGGERED_BUFFER
  iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
  counter: microchip-tcb-capture: check the correct variable
  iio: cros_ec: Set Gyroscope default frequency to 25Hz