regulator: pv88090: Exception handling for out of bounds
This is a patch for exception handlding that the index of array is out of bounds. And the definitions have been updated to use proper device name. Signed-off-by: Eric Jeong <eric.jeong.opensource@diasemi.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
5771a8c088
commit
8986a11978
2 changed files with 12 additions and 7 deletions
|
@ -43,7 +43,7 @@ enum {
|
||||||
struct pv88090_regulator {
|
struct pv88090_regulator {
|
||||||
struct regulator_desc desc;
|
struct regulator_desc desc;
|
||||||
/* Current limiting */
|
/* Current limiting */
|
||||||
unsigned n_current_limits;
|
unsigned int n_current_limits;
|
||||||
const int *current_limits;
|
const int *current_limits;
|
||||||
unsigned int limit_mask;
|
unsigned int limit_mask;
|
||||||
unsigned int conf;
|
unsigned int conf;
|
||||||
|
@ -398,9 +398,14 @@ static int pv88090_i2c_probe(struct i2c_client *i2c,
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
range = (range >>
|
range = (range >>
|
||||||
(PV88080_BUCK_VRANGE_GAIN_SHIFT + i - 1)) &
|
(PV88090_BUCK_VRANGE_GAIN_SHIFT + i - 1)) &
|
||||||
PV88080_BUCK_VRANGE_GAIN_MASK;
|
PV88090_BUCK_VRANGE_GAIN_MASK;
|
||||||
index = ((range << 1) | conf2);
|
index = ((range << 1) | conf2);
|
||||||
|
if (index > PV88090_ID_BUCK3) {
|
||||||
|
dev_err(chip->dev,
|
||||||
|
"Invalid index(%d)\n", index);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
pv88090_regulator_info[i].desc.min_uV
|
pv88090_regulator_info[i].desc.min_uV
|
||||||
= pv88090_buck_vol[index].min_uV;
|
= pv88090_buck_vol[index].min_uV;
|
||||||
|
|
|
@ -89,10 +89,10 @@
|
||||||
#define PV88090_BUCK_VDAC_RANGE_2 0x01
|
#define PV88090_BUCK_VDAC_RANGE_2 0x01
|
||||||
|
|
||||||
/* PV88090_REG_BUCK_FOLD_RANGE (addr=0x61) */
|
/* PV88090_REG_BUCK_FOLD_RANGE (addr=0x61) */
|
||||||
#define PV88080_BUCK_VRANGE_GAIN_SHIFT 3
|
#define PV88090_BUCK_VRANGE_GAIN_SHIFT 3
|
||||||
#define PV88080_BUCK_VRANGE_GAIN_MASK 0x01
|
#define PV88090_BUCK_VRANGE_GAIN_MASK 0x01
|
||||||
|
|
||||||
#define PV88080_BUCK_VRANGE_GAIN_1 0x00
|
#define PV88090_BUCK_VRANGE_GAIN_1 0x00
|
||||||
#define PV88080_BUCK_VRANGE_GAIN_2 0x01
|
#define PV88090_BUCK_VRANGE_GAIN_2 0x01
|
||||||
|
|
||||||
#endif /* __PV88090_REGISTERS_H__ */
|
#endif /* __PV88090_REGISTERS_H__ */
|
||||||
|
|
Loading…
Reference in a new issue