linux/drivers/iio
Fabrice Gasnier 77a9febfd8 iio: stm32 trigger: fix sampling_frequency read
When prescaler (PSC) is 0, it means div factor is 1: counter clock
frequency is equal to input clk / (PSC + 1).
When reload value is 8 for example, counter counts 9 cycles, from 0 to 8.
This is handled in frequency write routine, by writing respectively:
- prescaler - 1 to PSC
- reload value - 1 to ARR
This fix does the opposite when reading the frequency from PSC and ARR:
- prescaler is PSC + 1
- reload value is ARR + 1

Thus, PSC may be 0, depending on requested sampling frequency (div 1).
In this case, reading freq wrongly reports 0, instead of computing and
reporting correct value.
Remove test on !psc and !arr.

Small test on stm32f4 (example on tim1_trgo), before this fix:
$ cd /sys/bus/iio/devices/triggerX
$ echo 10000 > sampling_frequency
$ cat sampling_frequency
0

After this fix:
$ echo 10000 > sampling_frequency
$ cat sampling_frequency
10000

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2017-04-08 16:35:08 +01:00
..
accel iio: accel: hid-sensor-accel-3d: Fix duplicate scan index error 2017-04-02 11:26:14 +01:00
adc iio: adc: ti_am335x_adc: fix fifo overrun recovery 2017-03-15 19:47:23 +00:00
amplifiers
buffer iio:buffer.h - split into buffer.h and buffer_impl.h 2017-01-10 19:54:55 +00:00
chemical iio:chemical:atlas-ph-sensor: Fix use of 32 bit int to hold 16 bit big endian value 2016-10-23 22:18:27 +01:00
common iio: hid-sensor: Store restore poll and hysteresis on S3 2017-04-08 15:13:36 +01:00
counter iio: 104-quad-8: Fix off-by-one error when addressing flag register 2017-02-11 09:36:38 +00:00
dac iio: dac: ad5593r: Add ACPI support 2016-12-30 17:20:14 +00:00
dummy iio:dummy: Stop enabling timestamp by default. 2017-01-10 19:54:55 +00:00
frequency
gyro iio: bmg160: reset chip when probing 2017-03-25 16:36:25 +00:00
health Merge 4.10-rc7 into staging-next 2017-02-06 09:36:10 +01:00
humidity Merge 4.10-rc7 into staging-next 2017-02-06 09:36:10 +01:00
imu iio: imu: st_lsm6dsx: fix FIFO_CTRL2 overwrite during watermark configuration 2017-03-19 10:44:42 +00:00
light Second round of IIO new device support, cleanups and features for the 4.11 cycle 2017-01-23 09:23:23 +01:00
magnetometer iio: magnetometer: ak8974: remove incorrect __exit markups 2017-03-05 13:52:01 +00:00
orientation iio: orientation: hid-sensor-rotation: Add PM function (fix non working driver) 2016-11-05 17:47:47 +00:00
potentiometer iio: max5481: Add support for Maxim digital potentiometers 2017-01-28 12:13:31 +00:00
potentiostat iio: potentiostat: add LMP91000 support 2016-09-27 20:33:03 +01:00
pressure iio: st_pressure: initialize lps22hb bootime 2017-04-02 10:18:41 +01:00
proximity iio: distance: srf08: add IIO driver for us ranger 2017-01-28 16:38:24 +00:00
temperature iio: tmp007: Fix name attribute ABI 2017-01-30 20:38:13 +00:00
trigger iio: stm32 trigger: fix sampling_frequency read 2017-04-08 16:35:08 +01:00
iio_core_trigger.h
iio_core.h
industrialio-buffer.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
industrialio-configfs.c
industrialio-core.c iio: core: Fix IIO_VAL_FRACTIONAL_LOG2 for negative values 2017-04-02 11:14:49 +01:00
industrialio-event.c iio: iio_push_event(): Don't crash if the event interface is not registered 2016-09-10 16:40:44 +01:00
industrialio-sw-device.c
industrialio-sw-trigger.c
industrialio-trigger.c iio: trigger: clean up viio_trigger_alloc() 2017-01-22 13:37:34 +00:00
industrialio-triggered-event.c
inkern.c iio: inkern: pass through raw values if no scaling 2017-01-14 12:20:18 +00:00
Kconfig iio: 104-quad-8: Add IIO support for the ACCES 104-QUAD-8 2016-10-01 17:06:21 +01:00
Makefile iio: 104-quad-8: Add IIO support for the ACCES 104-QUAD-8 2016-10-01 17:06:21 +01:00