regulator: Replace set_voltage with set_voltage_sel
PATCH 4/5 regulator: Replace set_voltage with set_voltage_sel
To apply delay time for voltage change,
replace s5m8767_set_voltage with s5m8767_set_voltage_sel.
Signed-off-by Sangbeom Kim <[email protected]>
--- drivers/regulator/s5m8767.c | 38 ++++++++++++++------------------------ 1 files changed, 14 insertions(+), 24 deletions(-)
drivers/regulator/s5m8767.c +14 -24
@@ -357,32 +357,34 @@ static int s5m8767_convert_voltage_to_sel(return selector; } -static inline void s5m8767_set_high (struct s5m8767_info *s5m8767) +static inline int s5m8767_set_high (struct s5m8767_info *s5m8767) {int temp_index = s5m8767->buck_gpioindex;gpio_set_value (s5m8767->buck_gpios[0 ], (temp_index >>2 ) &0x1 );gpio_set_value (s5m8767->buck_gpios[1 ], (temp_index >>1 ) &0x1 );gpio_set_value (s5m8767->buck_gpios[2 ], temp_index &0x1 ); + +return 0 ; } -static inline void s5m8767_set_low (struct s5m8767_info *s5m8767) +static inline int s5m8767_set_low (struct s5m8767_info *s5m8767) {int temp_index = s5m8767->buck_gpioindex;gpio_set_value (s5m8767->buck_gpios[2 ], temp_index &0x1 );gpio_set_value (s5m8767->buck_gpios[1 ], (temp_index >>1 ) &0x1 );gpio_set_value (s5m8767->buck_gpios[0 ], (temp_index >>2 ) &0x1 ); + +return 0 ; } -static int s5m8767_set_voltage (struct regulator_dev *rdev, -int min_uV,int max_uV,unsigned *selector) +static int s5m8767_set_voltage_sel (struct regulator_dev *rdev, +unsigned selector) {struct s5m8767_info *s5m8767 =rdev_get_drvdata (rdev); -const struct s5m_voltage_desc *desc;int reg_id =rdev_get_id (rdev); -int sel, reg, mask, ret =0 , old_index, index =0 ; -u8 val; +int reg, mask, ret =0 , old_index, index =0 ;u8 *buck234_vol =NULL ;switch (reg_id) {
@@ -407,15 +409,9 @@ static int s5m8767_set_voltage(struct regulator_dev *rdev,return -EINVAL ; } - desc = reg_voltage_map[reg_id]; - - sel =s5m8767_convert_voltage_to_sel (desc, min_uV, max_uV); -if (sel <0 ) -return sel; -/* buck234_vol != NULL means to control buck234 voltage via DVS GPIO */ if (buck234_vol) { -while (*buck234_vol != sel) { +while (*buck234_vol != selector) { buck234_vol++; index++; }
@@ -423,22 +419,16 @@ static int s5m8767_set_voltage(struct regulator_dev *rdev, s5m8767->buck_gpioindex = index;if (index > old_index) -s5m8767_set_high (s5m8767); +return s5m8767_set_high (s5m8767);else -s5m8767_set_low (s5m8767); +return s5m8767_set_low (s5m8767); }else { ret =s5m8767_get_voltage_register (rdev, ®);if (ret)return ret; -s5m_reg_read (s5m8767->iodev, reg, &val); - val = (val & ~mask) | sel; - - ret =s5m_reg_write (s5m8767->iodev, reg, val); +return s5m_reg_update (s5m8767->iodev, reg, selector, mask); } - - *selector = sel; -return ret; } static int s5m8767_set_voltage_time_sel(struct regulator_dev *rdev,
@@ -463,7 +453,7 @@ static struct regulator_ops s5m8767_ops = { .enable = s5m8767_reg_enable, .disable = s5m8767_reg_disable, .get_voltage_sel = s5m8767_get_voltage_sel, - .set_voltage = s5m8767_set_voltage, + .set_voltage_sel = s5m8767_set_voltage_sel, .set_voltage_time_sel = s5m8767_set_voltage_time_sel, };
Signature · 1 line
1.7.1
Mark Brown
AppliedQuoted 2 lines · Sangbeom Kim
To apply delay time for voltage change,
replaces5m8767_set_voltagewiths5m8767_set_voltage_sel.
Applied, thanks.