Re: [PATCH] iio: adc: ad4170-4: Correctly update filter_fs after filter type change
From: Markus Elfring
Date: Sun Jul 20 2025 - 04:49:08 EST
…
> +++ b/drivers/iio/adc/ad4170-4.c
> @@ -880,10 +880,12 @@ static int ad4170_set_filter_type(struct iio_dev *indio_dev,
> return -EBUSY;
>
> if (val == AD4170_SINC5_AVG || val == AD4170_SINC3)
> - setup->filter_fs = clamp(val, AD4170_SINC3_MIN_FS,
> + setup->filter_fs = clamp(setup->filter_fs,
> + AD4170_SINC3_MIN_FS,
> AD4170_SINC3_MAX_FS);
> else
> - setup->filter_fs = clamp(val, AD4170_SINC5_MIN_FS,
> + setup->filter_fs = clamp(setup->filter_fs,
> + AD4170_SINC5_MIN_FS,
> AD4170_SINC5_MAX_FS);
>
> setup->filter &= ~AD4170_FILTER_FILTER_TYPE_MSK;
How do you think about to use the following code variant?
setup->filter_fs = (val == AD4170_SINC5_AVG || val == AD4170_SINC3)
? clamp(setup->filter_fs,
AD4170_SINC3_MIN_FS, AD4170_SINC3_MAX_FS)
: clamp(setup->filter_fs,
AD4170_SINC5_MIN_FS, AD4170_SINC5_MAX_FS);
Regards,
Markus