Add driver logic and documentation for the oversampling feature of the AD469x parts from Analog Devices. For now, this only works with offload support, and takes advantage of that mode's higher performance to make oversampling possible on multiple channels with varying sampling frequencies. Some significant rework of the driver had to be done in order to conditionally support this feature, including use of iio_scan_types to help determine the appropriate spi message configurations depending on oversampling ratio. This series depends on David's recent SPI engine changes for adding offload support: https://lore.kernel.org/all/20241211-dlech-mainline-spi-engine-offload-2-v6-0-88ee574d5d03@xxxxxxxxxxxx/ Signed-off-by: Trevor Gamblin <tgamblin@xxxxxxxxxxxx> --- Changes in v2: - Removed section in cover letter about correct implementation - Simplify math of ad4695_get_calibbias() in ad4695.c, based on Jonathan and David's suggestions - Link to v1: https://lore.kernel.org/r/20241217-ad4695-oversampling-v1-0-0b045d835dac@xxxxxxxxxxxx --- Trevor Gamblin (2): iio: adc: ad4695: add offload-based oversampling support doc: iio: ad4695: describe oversampling support Documentation/iio/ad4695.rst | 36 ++++- drivers/iio/adc/ad4695.c | 333 +++++++++++++++++++++++++++++++++++++++---- 2 files changed, 338 insertions(+), 31 deletions(-) --- base-commit: 0c6c3bf84f541fb4ec7097baf9eac10136f98c62 change-id: 20241217-ad4695-oversampling-2946fbe3aff3 Best regards, -- Trevor Gamblin <tgamblin@xxxxxxxxxxxx>