* [PATCH 0/3] iio: adc: ti-ads1298: Three driver cleanups
@ 2026-05-06 18:15 Md Shofiqul Islam
2026-05-06 18:15 ` [PATCH 1/3] iio: adc: ti-ads1298: Add parentheses around macro parameter Md Shofiqul Islam
` (2 more replies)
0 siblings, 3 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
Three small cleanups to the TI ADS1298 medical ECG ADC driver:
1. Add missing parentheses around macro parameter in ADS1298_REG_CHnSET()
to follow kernel macro coding style.
2. Fix a comment that incorrectly states 40ms for a 250Hz conversion
period — the correct value is 4ms.
3. Remove the internal test signal configuration from init. The driver
was enabling INT_TEST, TEST_AMP, and TEST_FREQ_FAST during device
initialization, which is inappropriate for a medical ADC in normal
operation. Only the RESERVED bit (required by the datasheet) is kept.
Md Shofiqul Islam (3):
iio: adc: ti-ads1298: Add parentheses around macro parameter
iio: adc: ti-ads1298: Fix incorrect timeout comment
iio: adc: ti-ads1298: Don't enable internal test signal during init
drivers/iio/adc/ti-ads1298.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
--
2.54.0.windows.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [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
end of thread, other threads:[~2026-05-06 18:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH 3/3] iio: adc: ti-ads1298: Don't enable internal test signal during init Md Shofiqul Islam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox