linux-stable/drivers/iio
Nuno Sa 39c024b51b iio: adis16475: improve sync scale mode handling
With this patch, we don't force users to define the IMU scaled internal
sampling rate once in the devicetree. Now it's dynamically calculated
at runtime depending on the desired output rate given by users.

Calculating the sync_scale dynamically gives us better chances of
achieving a perfect/integer value for DEC_RATE (thus giving more
flexibility). The math is:
 1. lcm of the input clock and the desired output rate.
 2. get the highest multiple of the previous result lower than the adis
    max rate.
 3. The last result becomes the IMU sample rate. Use that to calculate
    SYNC_SCALE and DEC_RATE (to get the user output rate).

Signed-off-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20210218114039.216091-3-nuno.sa@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-03-11 20:47:12 +00:00
..
accel iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common 2021-03-11 20:47:09 +00:00
adc iio: use getter/setter functions 2021-03-11 20:47:07 +00:00
afe iio: afe: iio-rescale: Simplify with dev_err_probe() 2020-09-03 19:40:50 +01:00
amplifiers iio: amplifiers: hmc425a: Simplify with dev_err_probe() 2020-09-03 19:40:50 +01:00
buffer iio: buffer: introduce support for attaching more IIO buffers 2021-03-11 20:47:05 +00:00
chemical iio: use getter/setter functions 2021-03-11 20:47:07 +00:00
common iio: Add relative sensitivity support 2021-03-11 20:47:09 +00:00
dac iio: dac: ad5686: Add support for AD5673R/AD5677R 2021-03-11 20:47:10 +00:00
dummy iio: dummy: iio_simple_dummy_buffer: use triggered buffer core calls 2021-03-11 20:47:05 +00:00
frequency iio: frequency: adf4350: Remove redundant null check before clk_disable_unprepare 2021-01-09 21:52:46 +00:00
gyro iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common 2021-03-11 20:47:09 +00:00
health iio: make use of devm_iio_kfifo_buffer_setup() helper 2021-03-11 20:47:01 +00:00
humidity iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common 2021-03-11 20:47:09 +00:00
imu iio: adis16475: improve sync scale mode handling 2021-03-11 20:47:12 +00:00
light iio: hid-sensor-als: Add relative hysteresis support 2021-03-11 20:47:09 +00:00
magnetometer iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common 2021-03-11 20:47:09 +00:00
multiplexer iio: multiplexer: iio-mux: Simplify with dev_err_probe() 2020-09-03 19:40:51 +01:00
orientation hid-sensors: Add more data fields for sensitivity checking 2021-03-11 20:47:09 +00:00
position iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common 2021-03-11 20:47:09 +00:00
potentiometer iio: use getter/setter functions 2021-03-11 20:47:07 +00:00
potentiostat iio:potentiostat:lmp91000: Drop of_match_ptr and use generic fw accessors 2020-09-21 18:41:29 +01:00
pressure hid-sensors: Add more data fields for sensitivity checking 2021-03-11 20:47:09 +00:00
proximity iio: proximity: sx9500: Fix a spelling postive to positive 2021-03-11 20:47:00 +00:00
resolver iio:resolver:ad2s1200: Drop of_match_ptr protection 2020-09-21 18:41:31 +01:00
temperature iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common 2021-03-11 20:47:09 +00:00
test iio: Add basic unit test for iio_format_value() 2021-03-11 20:47:00 +00:00
trigger Staging / IIO driver patches for 5.11-rc1 2020-12-15 14:18:40 -08:00
iio_core.h iio: buffer: add ioctl() to support opening extra buffers for IIO device 2021-03-11 20:47:05 +00:00
iio_core_trigger.h iio: core-trigger: make iio_device_register_trigger_consumer() an int return 2021-03-11 20:47:02 +00:00
industrialio-buffer.c iio: buffer: add ioctl() to support opening extra buffers for IIO device 2021-03-11 20:47:05 +00:00
industrialio-configfs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-core.c iio: Add relative sensitivity support 2021-03-11 20:47:09 +00:00
industrialio-event.c iio: add reference to iio buffer on iio_dev_attr 2021-03-11 20:47:04 +00:00
industrialio-sw-device.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-sw-trigger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-trigger.c iio: core: rework iio device group creation 2021-03-11 20:47:03 +00:00
industrialio-triggered-event.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
inkern.c iio: provide of_iio_channel_get_by_name() and devm_ version it 2021-01-16 18:27:51 +00:00
Kconfig iio: Add basic unit test for iio_format_value() 2021-03-11 20:47:00 +00:00
Makefile iio: Add basic unit test for iio_format_value() 2021-03-11 20:47:00 +00:00
TODO iio: add a TODO 2020-03-08 17:28:53 +00:00