Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: backend: update iio_backend_oversampling_ratio_set

Add chan parameter to iio_backend_oversampling_ratio_set() to allow
for contexts where the channel must be specified. Modify all
existing users.

Reviewed-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Signed-off-by: Pop Ioan Daniel <pop.ioan-daniel@analog.com>
Link: https://patch.msgid.link/20250605150948.3091827-3-pop.ioan-daniel@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Pop Ioan Daniel and committed by
Jonathan Cameron
97e6882e 56e5ec2d

+8 -4
+2 -1
drivers/iio/adc/ad4851.c
··· 320 320 return ret; 321 321 } 322 322 323 - ret = iio_backend_oversampling_ratio_set(st->back, osr); 323 + /* Channel is ignored by the backend being used here */ 324 + ret = iio_backend_oversampling_ratio_set(st->back, 0, osr); 324 325 if (ret) 325 326 return ret; 326 327
+2 -1
drivers/iio/adc/adi-axi-adc.c
··· 387 387 } 388 388 389 389 static int axi_adc_ad485x_oversampling_ratio_set(struct iio_backend *back, 390 - unsigned int ratio) 390 + unsigned int chan, 391 + unsigned int ratio) 391 392 { 392 393 struct adi_axi_adc_state *st = iio_backend_get_priv(back); 393 394
+2 -1
drivers/iio/industrialio-backend.c
··· 720 720 * 0 on success, negative error number on failure. 721 721 */ 722 722 int iio_backend_oversampling_ratio_set(struct iio_backend *back, 723 + unsigned int chan, 723 724 unsigned int ratio) 724 725 { 725 - return iio_backend_op_call(back, oversampling_ratio_set, ratio); 726 + return iio_backend_op_call(back, oversampling_ratio_set, chan, ratio); 726 727 } 727 728 EXPORT_SYMBOL_NS_GPL(iio_backend_oversampling_ratio_set, "IIO_BACKEND"); 728 729
+2 -1
include/linux/iio/backend.h
··· 155 155 enum iio_backend_interface_type *type); 156 156 int (*data_size_set)(struct iio_backend *back, unsigned int size); 157 157 int (*oversampling_ratio_set)(struct iio_backend *back, 158 - unsigned int ratio); 158 + unsigned int chan, unsigned int ratio); 159 159 int (*read_raw)(struct iio_backend *back, 160 160 struct iio_chan_spec const *chan, int *val, int *val2, 161 161 long mask); ··· 228 228 enum iio_backend_interface_type *type); 229 229 int iio_backend_data_size_set(struct iio_backend *back, unsigned int size); 230 230 int iio_backend_oversampling_ratio_set(struct iio_backend *back, 231 + unsigned int chan, 231 232 unsigned int ratio); 232 233 int iio_backend_read_raw(struct iio_backend *back, 233 234 struct iio_chan_spec const *chan, int *val, int *val2,