This is a fairly simple series that adds support for triggered buffers to the ad4695 driver. Not directly related to this patch, but as a side discussion about future possibilities with this chip while we are here... The advanced sequencer on this chip can repeat the same channel multiple times which, when combined with the autocycle feature, can be used to create different effective sampling rates for individual channels. For example if we set up the sequence [IN1, IN2, IN1, IN3] and the time between each individual sample in the sequence is the same, then IN1 has an effective sampling rate of 2x the other channels. Have there ever been discussions before about implementing something like this in the IIO subsystem? I didn't see anything that looked like this already implemented in the kernel. --- Changes in v2: v2 changes: * Don't error when only temperature channel is enabled, just add extra xfer instead. * Drop use of reg/mask/val local variables. * Use struct initializer for xfer in ad4695_exit_conversion_mode(). * Simplify return at end ad4695_buffer_preenable(). * Use t_ACQ instead of t_CNVL to ensure proper acquisition time. * The temperature channel changes weren't quite trivial, so I didn't pick up Nuno's Reviewed-by. * Link to v1: https://lore.kernel.org/r/20240807-iio-adc-ad4695-buffered-read-v1-0-bdafc39b2283@xxxxxxxxxxxx --- David Lechner (2): iio: adc: ad4695: implement triggered buffer doc: iio: ad4695: document buffered read Documentation/iio/ad4695.rst | 9 +- drivers/iio/adc/ad4695.c | 250 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 255 insertions(+), 4 deletions(-) --- base-commit: d505a9dc8de83df2a8ce8c9e780f7b29887f34af change-id: 20240807-iio-adc-ad4695-buffered-read-f49eb511e300 Best regards, -- David Lechner <dlechner@xxxxxxxxxxxx>