|
@@ -266,8 +266,8 @@ static int adp5061_get_max_voltage(struct adp5061_state *st,
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
regval = ((regval & ADP5061_TERM_SET_VTRM_MSK) >> 2) - 0x0F;
|
|
regval = ((regval & ADP5061_TERM_SET_VTRM_MSK) >> 2) - 0x0F;
|
|
- if (regval > ARRAY_SIZE(adp5061_vmax))
|
|
|
|
- regval = ARRAY_SIZE(adp5061_vmax);
|
|
|
|
|
|
+ if (regval >= ARRAY_SIZE(adp5061_vmax))
|
|
|
|
+ regval = ARRAY_SIZE(adp5061_vmax) - 1;
|
|
|
|
|
|
val->intval = adp5061_vmax[regval] * 1000;
|
|
val->intval = adp5061_vmax[regval] * 1000;
|
|
|
|
|
|
@@ -344,8 +344,8 @@ static int adp5061_get_const_chg_current(struct adp5061_state *st,
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
regval = ((regval & ADP5061_CHG_CURR_ICHG_MSK) >> 2);
|
|
regval = ((regval & ADP5061_CHG_CURR_ICHG_MSK) >> 2);
|
|
- if (regval > ARRAY_SIZE(adp5061_const_ichg))
|
|
|
|
- regval = ARRAY_SIZE(adp5061_const_ichg);
|
|
|
|
|
|
+ if (regval >= ARRAY_SIZE(adp5061_const_ichg))
|
|
|
|
+ regval = ARRAY_SIZE(adp5061_const_ichg) - 1;
|
|
|
|
|
|
val->intval = adp5061_const_ichg[regval] * 1000;
|
|
val->intval = adp5061_const_ichg[regval] * 1000;
|
|
|
|
|