regulator: tps51632: Ensure [base|max]_voltage_uV pdata settings are valid
PATCH 1/1 regulator: tps51632: Ensure [base|max]_voltage_uV pdata settings are valid
If pdata->base_voltage_uV is missing or the settings of pdata->base_voltage_uV and pdata->max_voltage_uV are out of range, TPS51632_VOLT_VSEL macro returns wrong vsel.
Thus add checking [base|max]_voltage_uV pdata settings in probe.
Signed-off-by Axel Lin <[email protected]>
--- drivers/regulator/tps51632-regulator.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
drivers/regulator/tps51632-regulator.c +15 -0
@@ -236,6 +236,21 @@ static int tps51632_probe(struct i2c_client *client,return -EINVAL ; } +if (pdata->enable_pwm_dvfs) { +if ((pdata->base_voltage_uV <TPS51632_MIN_VOLATGE ) || + (pdata->base_voltage_uV >TPS51632_MAX_VOLATGE )) { +dev_err (&client->dev,"Invalid base_voltage_uV setting\n" ); +return -EINVAL ; + } + +if ((pdata->max_voltage_uV) && + ((pdata->max_voltage_uV <TPS51632_MIN_VOLATGE ) || + (pdata->max_voltage_uV >TPS51632_MAX_VOLATGE ))) { +dev_err (&client->dev,"Invalid max_voltage_uV setting\n" ); +return -EINVAL ; + } + } + tps =devm_kzalloc (&client->dev,sizeof (*tps),GFP_KERNEL );if (!tps) {dev_err (&client->dev,"Memory allocation failed\n" );
Signature · 1 line
1.7.9.5
Quoted 6 lines · Axel Lin
If
pdata->base_voltage_uVis missing or the settings ofpdata->base_voltage_uVandpdata->max_voltage_uVare out of range,TPS51632_VOLT_VSELmacro returns wrong vsel.Thus add checking [base|max]_voltage_uV pdata settings in probe.
Looks good.
Acked-by Laxman Dewangan <[email protected]>
Mark Brown
AppliedQuoted 3 lines · Axel Lin
If
pdata->base_voltage_uVis missing or the settings ofpdata->base_voltage_uVandpdata->max_voltage_uVare out of range,TPS51632_VOLT_VSELmacro returns wrong vsel.
Applied, thanks.