[PATCH] iio: adc: nxp-sar-adc: use field_get() for EOC bit check

From: Piyush Patle

Date: Fri Apr 10 2026 - 17:16:33 EST


The driver uses FIELD_GET() for constant-mask fields but falls back
to a raw bit test for the per-channel EOC bit, as the mask depends
on the runtime channel index. A TODO notes that this should switch
to field_get() when available.

Use field_get() here now that runtime-mask support exists, and drop
the obsolete TODO. Since NXP_SAR_ADC_EOC_CH(c) is BIT(c), the
resulting !-test is semantically identical.

No functional change.

Signed-off-by: Piyush Patle <piyushpatle228@xxxxxxxxx>
---
drivers/iio/adc/nxp-sar-adc.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/iio/adc/nxp-sar-adc.c b/drivers/iio/adc/nxp-sar-adc.c
index 58103bf16aff..d6c2a0d50bb4 100644
--- a/drivers/iio/adc/nxp-sar-adc.c
+++ b/drivers/iio/adc/nxp-sar-adc.c
@@ -316,11 +316,7 @@ static int nxp_sar_adc_read_data(struct nxp_sar_adc *info, unsigned int chan)

ceocfr = readl(NXP_SAR_ADC_CEOCFR0(info->regs));

- /*
- * FIELD_GET() can not be used here because EOC_CH is not constant.
- * TODO: Switch to field_get() when it will be available.
- */
- if (!(NXP_SAR_ADC_EOC_CH(chan) & ceocfr))
+ if (!field_get(NXP_SAR_ADC_EOC_CH(chan), ceocfr))
return -EIO;

cdr = readl(NXP_SAR_ADC_CDR(info->regs, chan));
--
2.43.0