aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/regulator/st-pwm.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/regulator/st-pwm.c b/drivers/regulator/st-pwm.c
index 6ef569ffd971..e367af1c5f9d 100644
--- a/drivers/regulator/st-pwm.c
+++ b/drivers/regulator/st-pwm.c
@@ -39,11 +39,11 @@ struct st_pwm_voltages {
39 unsigned int dutycycle; 39 unsigned int dutycycle;
40}; 40};
41 41
42static int st_pwm_regulator_get_voltage(struct regulator_dev *dev) 42static int st_pwm_regulator_get_voltage_sel(struct regulator_dev *dev)
43{ 43{
44 struct st_pwm_regulator_data *drvdata = rdev_get_drvdata(dev); 44 struct st_pwm_regulator_data *drvdata = rdev_get_drvdata(dev);
45 45
46 return drvdata->pdata->duty_cycle_table[drvdata->state].uV; 46 return drvdata->state;
47} 47}
48 48
49static int st_pwm_regulator_set_voltage_sel(struct regulator_dev *dev, 49static int st_pwm_regulator_set_voltage_sel(struct regulator_dev *dev,
@@ -53,9 +53,6 @@ static int st_pwm_regulator_set_voltage_sel(struct regulator_dev *dev,
53 int dutycycle; 53 int dutycycle;
54 int ret; 54 int ret;
55 55
56 if (selector >= dev->desc->n_voltages)
57 return -EINVAL;
58
59 dutycycle = (ST_PWM_REG_PERIOD / 100) * 56 dutycycle = (ST_PWM_REG_PERIOD / 100) *
60 drvdata->pdata->duty_cycle_table[selector].dutycycle; 57 drvdata->pdata->duty_cycle_table[selector].dutycycle;
61 58
@@ -92,7 +89,7 @@ static int st_pwm_regulator_list_voltage(struct regulator_dev *dev,
92 89
93static struct regulator_ops st_pwm_regulator_voltage_ops = { 90static struct regulator_ops st_pwm_regulator_voltage_ops = {
94 .set_voltage_sel = st_pwm_regulator_set_voltage_sel, 91 .set_voltage_sel = st_pwm_regulator_set_voltage_sel,
95 .get_voltage = st_pwm_regulator_get_voltage, 92 .get_voltage_sel = st_pwm_regulator_get_voltage_sel,
96 .list_voltage = st_pwm_regulator_list_voltage, 93 .list_voltage = st_pwm_regulator_list_voltage,
97 .map_voltage = regulator_map_voltage_iterate, 94 .map_voltage = regulator_map_voltage_iterate,
98}; 95};