]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iio: adc: ad7625: fix type mismatch in clamp() macro
authorGiorgi Tchankvetadze <giorgitchankvetadze1997@gmail.com>
Sat, 25 Apr 2026 07:16:16 +0000 (11:16 +0400)
committerJonathan Cameron <jic23@kernel.org>
Sun, 31 May 2026 09:59:32 +0000 (10:59 +0100)
clamp() expects compatible operand types. The period calculation uses
nanosecond constants, while the local target variable was narrower than
the upper bound expression.

Make target unsigned long and use unsigned long bounds, including
NSEC_PER_USEC for the upper limit. This keeps the operands naturally
aligned without adding casts.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Giorgi Tchankvetadze <giorgitchankvetadze1997@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/adc/ad7625.c

index 0466c0c7eae4c0915ff07bdde79f2d94a8ba9c8b..f1ee29f35fa851d58d06e62af8bc3aa60df1c568 100644 (file)
@@ -175,12 +175,12 @@ enum ad7960_mode {
 
 static int ad7625_set_sampling_freq(struct ad7625_state *st, u32 freq)
 {
-       u32 target;
        struct pwm_waveform clk_gate_wf = { }, cnv_wf = { };
+       unsigned long target;
        int ret;
 
        target = DIV_ROUND_UP(NSEC_PER_SEC, freq);
-       cnv_wf.period_length_ns = clamp(target, 100, 10 * KILO);
+       cnv_wf.period_length_ns = clamp(target, 100UL, 10UL * NSEC_PER_USEC);
 
        /*
         * Use the maximum conversion time t_CNVH from the datasheet as