]> www.infradead.org Git - users/hch/misc.git/commitdiff
iio: backend: update iio_backend_oversampling_ratio_set
authorPop Ioan Daniel <pop.ioan-daniel@analog.com>
Thu, 5 Jun 2025 15:09:40 +0000 (18:09 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Thu, 26 Jun 2025 18:32:51 +0000 (19:32 +0100)
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>
drivers/iio/adc/ad4851.c
drivers/iio/adc/adi-axi-adc.c
drivers/iio/industrialio-backend.c
include/linux/iio/backend.h

index 1751f601e7f75723318b59be68395e2d1f294492..31e1e02c0ce333dedb27d72f6504316bf41f8103 100644 (file)
@@ -320,7 +320,8 @@ static int ad4851_set_oversampling_ratio(struct iio_dev *indio_dev,
                        return ret;
        }
 
-       ret = iio_backend_oversampling_ratio_set(st->back, osr);
+       /* Channel is ignored by the backend being used here */
+       ret = iio_backend_oversampling_ratio_set(st->back, 0, osr);
        if (ret)
                return ret;
 
index ec08a62f0ef7c2764cfff4780625bee7751f9bad..d0ad318d54007fc8b5b82cfb7692d3d747127c9f 100644 (file)
@@ -387,7 +387,8 @@ static int axi_adc_ad485x_data_size_set(struct iio_backend *back,
 }
 
 static int axi_adc_ad485x_oversampling_ratio_set(struct iio_backend *back,
-                                         unsigned int ratio)
+                                                unsigned int chan,
+                                                unsigned int ratio)
 {
        struct adi_axi_adc_state *st = iio_backend_get_priv(back);
 
index 6b2d3dac52b303bdd2fc1645446690f9ba714e48..decd74caf305ea239830915e498dfbafcff5e195 100644 (file)
@@ -720,9 +720,10 @@ EXPORT_SYMBOL_NS_GPL(iio_backend_data_size_set, "IIO_BACKEND");
  * 0 on success, negative error number on failure.
  */
 int iio_backend_oversampling_ratio_set(struct iio_backend *back,
+                                      unsigned int chan,
                                       unsigned int ratio)
 {
-       return iio_backend_op_call(back, oversampling_ratio_set, ratio);
+       return iio_backend_op_call(back, oversampling_ratio_set, chan, ratio);
 }
 EXPORT_SYMBOL_NS_GPL(iio_backend_oversampling_ratio_set, "IIO_BACKEND");
 
index 1f528fbd9d112cfc101286d2a7d694e35c1467ff..7f815f3fed6ae34c65ffc579d5101020fc9bd336 100644 (file)
@@ -155,7 +155,7 @@ struct iio_backend_ops {
                                  enum iio_backend_interface_type *type);
        int (*data_size_set)(struct iio_backend *back, unsigned int size);
        int (*oversampling_ratio_set)(struct iio_backend *back,
-                                     unsigned int ratio);
+                                     unsigned int chan, unsigned int ratio);
        int (*read_raw)(struct iio_backend *back,
                        struct iio_chan_spec const *chan, int *val, int *val2,
                        long mask);
@@ -228,6 +228,7 @@ int iio_backend_interface_type_get(struct iio_backend *back,
                                   enum iio_backend_interface_type *type);
 int iio_backend_data_size_set(struct iio_backend *back, unsigned int size);
 int iio_backend_oversampling_ratio_set(struct iio_backend *back,
+                                      unsigned int chan,
                                       unsigned int ratio);
 int iio_backend_read_raw(struct iio_backend *back,
                         struct iio_chan_spec const *chan, int *val, int *val2,