diff options
author | Haibo Chen <haibo.chen@freescale.com> | 2015-07-02 15:09:49 +0800 |
---|---|---|
committer | Haibo Chen <haibo.chen@freescale.com> | 2015-07-02 16:39:58 +0800 |
commit | 5a7cd895d3fef7e6c2534070771c6744fb66239b (patch) | |
tree | 0c16e887501152f2413401b987f11d0db34cfbe8 | |
parent | bf76ab7ce050e8c86f354a14436bbdaa92966667 (diff) |
MLK-11212 iio: adc: correct the adc register read fail issue
Read the register only when the adc register address is 4 byte aligned.
Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
(cherry picked from commit 68af93647354087a55c86c58be48e8802c98aa3d)
-rw-r--r-- | drivers/iio/adc/ad2802a.c | 2 | ||||
-rw-r--r-- | drivers/iio/adc/vf610_adc.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/iio/adc/ad2802a.c b/drivers/iio/adc/ad2802a.c index 5e565cb2d308..e82e39bdce5c 100644 --- a/drivers/iio/adc/ad2802a.c +++ b/drivers/iio/adc/ad2802a.c @@ -375,7 +375,7 @@ static int ad2802_adc_reg_access(struct iio_dev *indio_dev, { struct ad2802_adc *info = iio_priv(indio_dev); if ((readval == NULL) || - (!(reg % 4) || (reg > REG_ADC_ADC_CFG))) + ((reg % 4) || (reg > REG_ADC_ADC_CFG))) return -EINVAL; *readval = readl(info->regs + reg); diff --git a/drivers/iio/adc/vf610_adc.c b/drivers/iio/adc/vf610_adc.c index 96d844df0b71..844f9bd2c21c 100644 --- a/drivers/iio/adc/vf610_adc.c +++ b/drivers/iio/adc/vf610_adc.c @@ -1,7 +1,7 @@ /* * Freescale Vybrid vf610 ADC driver * - * Copyright 2013-2014 Freescale Semiconductor, Inc. + * Copyright 2013-2015 Freescale Semiconductor, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -524,7 +524,7 @@ static int vf610_adc_reg_access(struct iio_dev *indio_dev, struct vf610_adc *info = iio_priv(indio_dev); if ((readval == NULL) || - (!(reg % 4) || (reg > VF610_REG_ADC_PCTL))) + ((reg % 4) || (reg > VF610_REG_ADC_PCTL))) return -EINVAL; *readval = readl(info->regs + reg); |