struct pv88090_regulator {
struct regulator_desc desc;
/* Current limiting */
- unsigned n_current_limits;
+ unsigned int n_current_limits;
const int *current_limits;
unsigned int limit_mask;
unsigned int conf;
return ret;
range = (range >>
- (PV88080_BUCK_VRANGE_GAIN_SHIFT + i - 1)) &
- PV88080_BUCK_VRANGE_GAIN_MASK;
+ (PV88090_BUCK_VRANGE_GAIN_SHIFT + i - 1)) &
+ PV88090_BUCK_VRANGE_GAIN_MASK;
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_buck_vol[index].min_uV;
#define PV88090_BUCK_VDAC_RANGE_2 0x01
/* PV88090_REG_BUCK_FOLD_RANGE (addr=0x61) */
-#define PV88080_BUCK_VRANGE_GAIN_SHIFT 3
-#define PV88080_BUCK_VRANGE_GAIN_MASK 0x01
+#define PV88090_BUCK_VRANGE_GAIN_SHIFT 3
+#define PV88090_BUCK_VRANGE_GAIN_MASK 0x01
-#define PV88080_BUCK_VRANGE_GAIN_1 0x00
-#define PV88080_BUCK_VRANGE_GAIN_2 0x01
+#define PV88090_BUCK_VRANGE_GAIN_1 0x00
+#define PV88090_BUCK_VRANGE_GAIN_2 0x01
#endif /* __PV88090_REGISTERS_H__ */