aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/regulator/rc5t583-regulator.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/drivers/regulator/rc5t583-regulator.c b/drivers/regulator/rc5t583-regulator.c
index 332eae897dab..8bf4e8c9de9a 100644
--- a/drivers/regulator/rc5t583-regulator.c
+++ b/drivers/regulator/rc5t583-regulator.c
@@ -42,7 +42,6 @@ struct rc5t583_regulator_info {
42 42
43 /* Regulator specific turn-on delay and voltage settling time*/ 43 /* Regulator specific turn-on delay and voltage settling time*/
44 int enable_uv_per_us; 44 int enable_uv_per_us;
45 int change_uv_per_us;
46 45
47 /* Used by regulator core */ 46 /* Used by regulator core */
48 struct regulator_desc desc; 47 struct regulator_desc desc;
@@ -66,17 +65,6 @@ static int rc5t583_regulator_enable_time(struct regulator_dev *rdev)
66 return DIV_ROUND_UP(curr_uV, reg->reg_info->enable_uv_per_us); 65 return DIV_ROUND_UP(curr_uV, reg->reg_info->enable_uv_per_us);
67} 66}
68 67
69static int rc5t583_set_voltage_time_sel(struct regulator_dev *rdev,
70 unsigned int old_selector, unsigned int new_selector)
71{
72 struct rc5t583_regulator *reg = rdev_get_drvdata(rdev);
73
74 return DIV_ROUND_UP(abs(new_selector - old_selector) *
75 rdev->desc->uV_step,
76 reg->reg_info->change_uv_per_us);
77}
78
79
80static struct regulator_ops rc5t583_ops = { 68static struct regulator_ops rc5t583_ops = {
81 .is_enabled = regulator_is_enabled_regmap, 69 .is_enabled = regulator_is_enabled_regmap,
82 .enable = regulator_enable_regmap, 70 .enable = regulator_enable_regmap,
@@ -86,7 +74,7 @@ static struct regulator_ops rc5t583_ops = {
86 .set_voltage_sel = regulator_set_voltage_sel_regmap, 74 .set_voltage_sel = regulator_set_voltage_sel_regmap,
87 .list_voltage = regulator_list_voltage_linear, 75 .list_voltage = regulator_list_voltage_linear,
88 .map_voltage = regulator_map_voltage_linear, 76 .map_voltage = regulator_map_voltage_linear,
89 .set_voltage_time_sel = rc5t583_set_voltage_time_sel, 77 .set_voltage_time_sel = regulator_set_voltage_time_sel,
90}; 78};
91 79
92#define RC5T583_REG(_id, _en_reg, _en_bit, _disc_reg, _disc_bit, \ 80#define RC5T583_REG(_id, _en_reg, _en_bit, _disc_reg, _disc_bit, \
@@ -96,7 +84,6 @@ static struct regulator_ops rc5t583_ops = {
96 .disc_bit = _disc_bit, \ 84 .disc_bit = _disc_bit, \
97 .deepsleep_reg = RC5T583_REG_##_id##DAC_DS, \ 85 .deepsleep_reg = RC5T583_REG_##_id##DAC_DS, \
98 .enable_uv_per_us = _enable_mv * 1000, \ 86 .enable_uv_per_us = _enable_mv * 1000, \
99 .change_uv_per_us = 40 * 1000, \
100 .deepsleep_id = RC5T583_DS_##_id, \ 87 .deepsleep_id = RC5T583_DS_##_id, \
101 .desc = { \ 88 .desc = { \
102 .name = "rc5t583-regulator-"#_id, \ 89 .name = "rc5t583-regulator-"#_id, \
@@ -111,6 +98,7 @@ static struct regulator_ops rc5t583_ops = {
111 .enable_mask = BIT(_en_bit), \ 98 .enable_mask = BIT(_en_bit), \
112 .min_uV = _min_mv * 1000, \ 99 .min_uV = _min_mv * 1000, \
113 .uV_step = _step_uV, \ 100 .uV_step = _step_uV, \
101 .ramp_delay = 40 * 1000, \
114 }, \ 102 }, \
115} 103}
116 104