iio: adc: mcp3911: make use of the sign bit
authorMarcus Folkesson <marcus.folkesson@gmail.com>
Fri, 22 Jul 2022 13:07:18 +0000 (15:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Sep 2022 10:28:01 +0000 (12:28 +0200)
[ Upstream commit 8f89e33bf040bbef66386c426198622180233178 ]

The device supports negative values as well.

Fixes: 3a89b289df5d ("iio: adc: add support for mcp3911")
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20220722130726.7627-2-marcus.folkesson@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iio/adc/mcp3911.c

index e573da5..81eeb00 100644 (file)
@@ -111,6 +111,8 @@ static int mcp3911_read_raw(struct iio_dev *indio_dev,
                if (ret)
                        goto out;
 
+               *val = sign_extend32(*val, 23);
+
                ret = IIO_VAL_INT;
                break;