[PATCH] iio: adc: rtq6056: Correct the sign bit index

cy_huang@richtek.com posted 1 patch 2 weeks ago
drivers/iio/adc/rtq6056.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] iio: adc: rtq6056: Correct the sign bit index
Posted by cy_huang@richtek.com 2 weeks ago
From: ChiYuan Huang <cy_huang@richtek.com>

The vshunt/current reported register is a signed 16bit integer. The
sign bit index should be '15', not '16'.

Fixes: 4396f45d211b ("iio: adc: Add rtq6056 support")
Reported-by: Andy Hsu <andy_ya_hsu@wiwynn.com>
Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
---
Hi, Andy:

Thanks for reporting the value convert issue.
---
 drivers/iio/adc/rtq6056.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/adc/rtq6056.c b/drivers/iio/adc/rtq6056.c
index ad9738228b7f..2bf3a09ac6b0 100644
--- a/drivers/iio/adc/rtq6056.c
+++ b/drivers/iio/adc/rtq6056.c
@@ -300,7 +300,7 @@ static int rtq6056_adc_read_channel(struct rtq6056_priv *priv,
 		return IIO_VAL_INT;
 	case RTQ6056_REG_SHUNTVOLT:
 	case RTQ6056_REG_CURRENT:
-		*val = sign_extend32(regval, 16);
+		*val = sign_extend32(regval, 15);
 		return IIO_VAL_INT;
 	default:
 		return -EINVAL;
-- 
2.34.1
Re: [PATCH] iio: adc: rtq6056: Correct the sign bit index
Posted by David Lechner 1 week, 6 days ago
On 9/17/25 10:10 PM, cy_huang@richtek.com wrote:
> From: ChiYuan Huang <cy_huang@richtek.com>
> 
> The vshunt/current reported register is a signed 16bit integer. The
> sign bit index should be '15', not '16'.
> 
> Fixes: 4396f45d211b ("iio: adc: Add rtq6056 support")
> Reported-by: Andy Hsu <andy_ya_hsu@wiwynn.com>
> Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
> ---
Reviewed-by: David Lechner <dlechner@baylibre.com>