linux/drivers/iio
Ahmad Fatoum 8a09054f3e iio: adc: stm32-adc: enable timestamping for non-DMA usage
For non-DMA usage, we have an easy way to associate a timestamp with a
sample: iio_pollfunc_store_time stores a timestamp in the primary
trigger IRQ handler and stm32_adc_trigger_handler runs in the IRQ thread
to push out the buffer along with the timestamp.

For this to work, the driver needs to register an IIO_TIMESTAMP channel.
Do this.

For DMA, it's not as easy, because we don't push the buffers out of
stm32_adc_trigger, but out of stm32_adc_dma_buffer_done, which runs in
a tasklet scheduled after a DMA completion.

Preferably, the DMA controller would copy us the timestamp into that buffer
as well. Until this is implemented, restrict timestamping support to
only PIO. For low-frequency sampling, PIO is probably good enough.

Cc: Holger Assmann <has@pengutronix.de>
Acked-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Link: https://lore.kernel.org/r/20210125194824.30549-1-a.fatoum@pengutronix.de
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-03-11 20:46:57 +00:00
..
accel iio: hid-sensor-accel-3d: Add timestamp channel for gravity sensor 2021-01-22 08:52:03 +00:00
adc iio: adc: stm32-adc: enable timestamping for non-DMA usage 2021-03-11 20:46:57 +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: Return error if no callback is given 2020-12-03 19:32:40 +00:00
chemical iio: bme680: Use DIV_ROUND_CLOSEST() instead of open-coding it 2021-01-09 21:52:45 +00:00
common iio: st_sensors: fix typo in comment 2021-03-11 20:46:55 +00:00
dac Merge 5.11-rc5 into staging-next 2021-01-25 10:37:59 +01:00
dummy iio: dummy: iio_dummy_evgen: Demote file header and supply description for 'irq_sim_domain' 2020-09-21 18:41:36 +01:00
frequency iio: frequency: adf4350: Remove redundant null check before clk_disable_unprepare 2021-01-09 21:52:46 +00:00
gyro iio: hid-sensor-gyro-3d: Add timestamp channel 2021-01-22 08:52:04 +00:00
health Second set of features and cleanups for IIO in 5.10 2020-09-22 09:45:11 +02:00
humidity iio: humidity: hts221: add vdd voltage regulator 2020-12-03 19:32:39 +00:00
imu iio: imu: inv_mpu6050: Add support for MPU-6880 2021-01-09 14:25:30 +00:00
light iio: hid-sensor-als: Add timestamp channel 2021-01-22 08:52:04 +00:00
magnetometer iio: hid-sensor-magn-3d: Add timestamp channel 2021-01-22 08:52:04 +00:00
multiplexer iio: multiplexer: iio-mux: Simplify with dev_err_probe() 2020-09-03 19:40:51 +01:00
orientation iio: hid-sensor-rotation: Fix quaternion data not correct 2021-03-11 20:46:56 +00:00
position iio: hid-sensors: Add hinge sensor driver 2021-01-22 08:52:02 +00:00
potentiometer iio: potentiometer: ad5272: Correct polarity of reset 2020-12-03 19:32:42 +00:00
potentiostat iio:potentiostat:lmp91000: Drop of_match_ptr and use generic fw accessors 2020-09-21 18:41:29 +01:00
pressure iio:pressure:ms5637: add ms5803 support 2021-01-22 08:52:07 +00:00
proximity iio: sx9310: Fix semtech,avg-pos-strength setting when > 16 2021-01-14 21:01:22 +00:00
resolver iio:resolver:ad2s1200: Drop of_match_ptr protection 2020-09-21 18:41:31 +01:00
temperature drivers: iio: temperature: Add delay after the addressed reset command in mlx90632.c 2021-01-14 20:56:55 +00:00
trigger Staging / IIO driver patches for 5.11-rc1 2020-12-15 14:18:40 -08:00
iio_core.h iio: core: centralize ioctl() calls to the main chardev 2020-11-14 15:31:25 +00:00
iio_core_trigger.h iio: trigger: make stub functions static inline 2020-08-22 10:53:18 +01:00
industrialio-buffer.c iio: buffer: Fix demux update 2020-12-03 19:32:44 +00:00
industrialio-configfs.c
industrialio-core.c iio: Handle enumerated properties with gaps 2021-01-22 08:52:03 +00:00
industrialio-event.c iio: core: centralize ioctl() calls to the main chardev 2020-11-14 15:31:25 +00:00
industrialio-sw-device.c
industrialio-sw-trigger.c
industrialio-trigger.c iio:trigger: rename try_reenable() to reenable() plus return void 2020-12-03 19:40:26 +00:00
industrialio-triggered-event.c
inkern.c iio: provide of_iio_channel_get_by_name() and devm_ version it 2021-01-16 18:27:51 +00:00
Kconfig iio: Kconfig: Provide title for IIO_TRIGGERED_EVENT symbol 2020-09-29 17:27:08 +01:00
Makefile iio: position: Add support for Azoteq IQS624/625 angle sensors 2020-03-27 08:25:59 +00:00
TODO iio: add a TODO 2020-03-08 17:28:53 +00:00