@@ -64,6 +64,7 @@ static int mp2629_read_raw(struct iio_dev *indio_dev,
int *val, int *val2, long mask)
{
struct mp2629_adc *info = iio_priv(indio_dev);
+ struct mp2629_data *ddata = dev_get_drvdata(info->dev);
unsigned int rval;
int ret;
@@ -73,8 +74,10 @@ static int mp2629_read_raw(struct iio_dev *indio_dev,
if (ret)
return ret;
- if (chan->channel == MP2629_INPUT_VOLT)
+ if (chan->channel == MP2629_INPUT_VOLT &&
+ ddata->chip_id == CHIP_ID_MP2629)
rval &= GENMASK(6, 0);
+
*val = rval;
return IIO_VAL_INT;
add support for mp2733 which is updated version of mp2629 with higher range of input voltage. Signed-off-by: Saravanan Sekar <sravanhome@gmail.com> --- drivers/iio/adc/mp2629_adc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)