* [PATCH 1/3] iio: adc: ti-ads1298: Add parentheses around macro parameter
2026-05-06 18:15 [PATCH 0/3] iio: adc: ti-ads1298: Three driver cleanups Md Shofiqul Islam
@ 2026-05-06 18:15 ` Md Shofiqul Islam
2026-05-06 18:15 ` [PATCH 2/3] iio: adc: ti-ads1298: Fix incorrect timeout comment Md Shofiqul Islam
2026-05-06 18:15 ` [PATCH 3/3] iio: adc: ti-ads1298: Don't enable internal test signal during init Md Shofiqul Islam
2 siblings, 0 replies; 4+ messages in thread
From: Md Shofiqul Islam @ 2026-05-06 18:15 UTC (permalink / raw)
To: linux-iio, linux-kernel
Cc: Md Shofiqul Islam, jic23, dlechner, nuno.sa, andy, mike.looijmans
ADS1298_REG_CHnSET() is missing parentheses around the parameter 'n'.
Add them to follow kernel macro coding style and prevent potential
operator precedence issues if the argument is an expression.
Signed-off-by: Md Shofiqul Islam <shofiqtest@gmail.com>
---
drivers/iio/adc/ti-ads1298.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/adc/ti-ads1298.c b/drivers/iio/adc/ti-ads1298.c
index ae30b47e45..cf5f954206 100644
--- a/drivers/iio/adc/ti-ads1298.c
+++ b/drivers/iio/adc/ti-ads1298.c
@@ -66,7 +66,7 @@
#define ADS1298_MASK_CONFIG3_VREF_4V BIT(5)
#define ADS1298_REG_LOFF 0x04
-#define ADS1298_REG_CHnSET(n) (0x05 + n)
+#define ADS1298_REG_CHnSET(n) (0x05 + (n))
#define ADS1298_MASK_CH_PD BIT(7)
#define ADS1298_MASK_CH_PGA GENMASK(6, 4)
#define ADS1298_MASK_CH_MUX GENMASK(2, 0)
--
2.54.0.windows.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] iio: adc: ti-ads1298: Fix incorrect timeout comment
2026-05-06 18:15 [PATCH 0/3] iio: adc: ti-ads1298: Three driver cleanups Md Shofiqul Islam
2026-05-06 18:15 ` [PATCH 1/3] iio: adc: ti-ads1298: Add parentheses around macro parameter Md Shofiqul Islam
@ 2026-05-06 18:15 ` Md Shofiqul Islam
2026-05-06 18:15 ` [PATCH 3/3] iio: adc: ti-ads1298: Don't enable internal test signal during init Md Shofiqul Islam
2 siblings, 0 replies; 4+ messages in thread
From: Md Shofiqul Islam @ 2026-05-06 18:15 UTC (permalink / raw)
To: linux-iio, linux-kernel
Cc: Md Shofiqul Islam, jic23, dlechner, nuno.sa, andy, mike.looijmans
At the lowest supported data rate of 250Hz, one conversion period is
4ms, not 40ms. Fix the comment to correctly reflect the timing.
The 50ms timeout value itself is correct as a conservative margin.
Signed-off-by: Md Shofiqul Islam <shofiqtest@gmail.com>
---
drivers/iio/adc/ti-ads1298.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/adc/ti-ads1298.c b/drivers/iio/adc/ti-ads1298.c
index cf5f954206..186bda3087 100644
--- a/drivers/iio/adc/ti-ads1298.c
+++ b/drivers/iio/adc/ti-ads1298.c
@@ -210,7 +210,7 @@ static int ads1298_read_one(struct ads1298_private *priv, int chan_index)
return ret;
}
- /* Cannot take longer than 40ms (250Hz) */
+ /* Cannot take longer than 4ms at the lowest rate (250Hz) */
ret = wait_for_completion_timeout(&priv->completion, msecs_to_jiffies(50));
if (!ret)
return -ETIMEDOUT;
--
2.54.0.windows.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] iio: adc: ti-ads1298: Don't enable internal test signal during init
2026-05-06 18:15 [PATCH 0/3] iio: adc: ti-ads1298: Three driver cleanups Md Shofiqul Islam
2026-05-06 18:15 ` [PATCH 1/3] iio: adc: ti-ads1298: Add parentheses around macro parameter Md Shofiqul Islam
2026-05-06 18:15 ` [PATCH 2/3] iio: adc: ti-ads1298: Fix incorrect timeout comment Md Shofiqul Islam
@ 2026-05-06 18:15 ` Md Shofiqul Islam
2 siblings, 0 replies; 4+ messages in thread
From: Md Shofiqul Islam @ 2026-05-06 18:15 UTC (permalink / raw)
To: linux-iio, linux-kernel
Cc: Md Shofiqul Islam, jic23, dlechner, nuno.sa, andy, mike.looijmans
The driver was enabling the internal test signal (INT_TEST), double
amplitude (TEST_AMP), and fast frequency (TEST_FREQ_FAST) bits in
CONFIG2 during initialization. These bits activate an internal square
wave generator intended for device testing and calibration, not normal
ECG operation.
While the test signal does not affect channel measurements unless the
channel MUX is explicitly set to route it (MUX = 101), enabling the
test signal generator unnecessarily increases power consumption and is
inappropriate for a medical ADC driver in normal operation.
Keep only the RESERVED bit which the datasheet requires to always be
written as 1.
Signed-off-by: Md Shofiqul Islam <shofiqtest@gmail.com>
---
drivers/iio/adc/ti-ads1298.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/iio/adc/ti-ads1298.c b/drivers/iio/adc/ti-ads1298.c
index 186bda3087..360dfd2fc8 100644
--- a/drivers/iio/adc/ti-ads1298.c
+++ b/drivers/iio/adc/ti-ads1298.c
@@ -615,12 +615,9 @@ static int ads1298_init(struct iio_dev *indio_dev)
if (!indio_dev->name)
return -ENOMEM;
- /* Enable internal test signal, double amplitude, double frequency */
+ /* CONFIG2: reserved bit must always be written as 1 per datasheet */
ret = regmap_write(priv->regmap, ADS1298_REG_CONFIG2,
- ADS1298_MASK_CONFIG2_RESERVED |
- ADS1298_MASK_CONFIG2_INT_TEST |
- ADS1298_MASK_CONFIG2_TEST_AMP |
- ADS1298_MASK_CONFIG2_TEST_FREQ_FAST);
+ ADS1298_MASK_CONFIG2_RESERVED);
if (ret)
return ret;
--
2.54.0.windows.1
^ permalink raw reply related [flat|nested] 4+ messages in thread