[PATCH] iio: adc: ad7625: fix type mismatch in clamp() macro

From: Giorgi Tchankvetadze

Date: Wed Apr 22 2026 - 10:27:52 EST


Smatch reports a type mismatch warning in ad7625_set_sampling_freq()
where the clamp() macro is evaluating differing types:
- `target` is a u32
- `100` evaluates as a signed int
- `10 * KILO` evaluates as an unsigned long (due to KILO being 1000UL)

Replace clamp() with clamp_t(u32, ...) to explicitly cast the bounds
to match the u32 target variable.

Signed-off-by: Giorgi Tchankvetadze <giorgitchankvetadze1997@xxxxxxxxx>
---
drivers/iio/adc/ad7625.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/adc/ad7625.c b/drivers/iio/adc/ad7625.c
index 0466c0c7eae4..fb0fe2434c68 100644
--- a/drivers/iio/adc/ad7625.c
+++ b/drivers/iio/adc/ad7625.c
@@ -180,7 +180,7 @@ static int ad7625_set_sampling_freq(struct ad7625_state *st, u32 freq)
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_t(u32, target, 100, 10 * KILO);

/*
* Use the maximum conversion time t_CNVH from the datasheet as
--
2.52.0