regulator: da903x: Don't read/write to DA9030_INVAL/DA9034_INVAL address
For fixed voltage, DA9030_LDO13 and DA9034_LDO5, the info->vol_reg is DA9030_INVAL/DA9034_INVAL. It does not make sense to read/write to DA9030_INVAL/DA9034_INVAL address. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
985f769c89
commit
ee3ed6effd
@ -107,6 +107,9 @@ static int da903x_set_voltage_sel(struct regulator_dev *rdev, unsigned selector)
|
|||||||
struct device *da9034_dev = to_da903x_dev(rdev);
|
struct device *da9034_dev = to_da903x_dev(rdev);
|
||||||
uint8_t val, mask;
|
uint8_t val, mask;
|
||||||
|
|
||||||
|
if (rdev->desc->n_voltages == 1)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
val = selector << info->vol_shift;
|
val = selector << info->vol_shift;
|
||||||
mask = ((1 << info->vol_nbits) - 1) << info->vol_shift;
|
mask = ((1 << info->vol_nbits) - 1) << info->vol_shift;
|
||||||
|
|
||||||
@ -120,6 +123,9 @@ static int da903x_get_voltage_sel(struct regulator_dev *rdev)
|
|||||||
uint8_t val, mask;
|
uint8_t val, mask;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (rdev->desc->n_voltages == 1)
|
||||||
|
return 0;
|
||||||
|
|
||||||
ret = da903x_read(da9034_dev, info->vol_reg, &val);
|
ret = da903x_read(da9034_dev, info->vol_reg, &val);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user