regulator: max8660: Convert to regulator_list_voltage_linear()
PATCH 1/3 regulator: max8660: Convert to regulator_list_voltage_linear()
Signed-off-by Axel Lin <[email protected]>
--- drivers/regulator/max8660.c | 43 ++++++++++++++++--------------------------- 1 files changed, 16 insertions(+), 27 deletions(-)
drivers/regulator/max8660.c +16 -27
@@ -126,13 +126,6 @@ static int max8660_dcdc_disable(struct regulator_dev *rdev)return max8660_write (max8660,MAX8660_OVER1 , mask,0 ); } -static int max8660_dcdc_list (struct regulator_dev *rdev,unsigned selector) -{ -if (selector >MAX8660_DCDC_MAX_SEL ) -return -EINVAL ; -return MAX8660_DCDC_MIN_UV + selector *MAX8660_DCDC_STEP ; -} -static int max8660_dcdc_get (struct regulator_dev *rdev) {struct max8660 *max8660 =rdev_get_drvdata (rdev);
@@ -156,7 +149,7 @@ static int max8660_dcdc_set(struct regulator_dev *rdev, int min_uV, int max_uV, selector =DIV_ROUND_UP (min_uV -MAX8660_DCDC_MIN_UV ,MAX8660_DCDC_STEP ); - ret =max8660_dcdc_list (rdev, selector); + ret =regulator_list_voltage_linear (rdev, selector);if (ret <0 || ret > max_uV)return -EINVAL ;
@@ -174,7 +167,7 @@ static int max8660_dcdc_set(struct regulator_dev *rdev, int min_uV, int max_uV,static struct regulator_ops max8660_dcdc_ops = { .is_enabled = max8660_dcdc_is_enabled, - .list_voltage = max8660_dcdc_list, + .list_voltage = regulator_list_voltage_linear, .set_voltage = max8660_dcdc_set, .get_voltage = max8660_dcdc_get, };
@@ -184,13 +177,6 @@ static struct regulator_ops max8660_dcdc_ops = {* LDO5 functions */ -static int max8660_ldo5_list (struct regulator_dev *rdev,unsigned selector) -{ -if (selector >MAX8660_LDO5_MAX_SEL ) -return -EINVAL ; -return MAX8660_LDO5_MIN_UV + selector *MAX8660_LDO5_STEP ; -} -static int max8660_ldo5_get (struct regulator_dev *rdev) {struct max8660 *max8660 =rdev_get_drvdata (rdev);
@@ -214,7 +200,7 @@ static int max8660_ldo5_set(struct regulator_dev *rdev, int min_uV, int max_uV, selector =DIV_ROUND_UP (min_uV -MAX8660_LDO5_MIN_UV ,MAX8660_LDO5_STEP ); - ret =max8660_ldo5_list (rdev, selector); + ret =regulator_list_voltage_linear (rdev, selector);if (ret <0 || ret > max_uV)return -EINVAL ;
@@ -229,7 +215,7 @@ static int max8660_ldo5_set(struct regulator_dev *rdev, int min_uV, int max_uV, }static struct regulator_ops max8660_ldo5_ops = { - .list_voltage = max8660_ldo5_list, + .list_voltage = regulator_list_voltage_linear, .set_voltage = max8660_ldo5_set, .get_voltage = max8660_ldo5_get, };
@@ -261,13 +247,6 @@ static int max8660_ldo67_disable(struct regulator_dev *rdev)return max8660_write (max8660,MAX8660_OVER2 , mask,0 ); } -static int max8660_ldo67_list (struct regulator_dev *rdev,unsigned selector) -{ -if (selector >MAX8660_LDO67_MAX_SEL ) -return -EINVAL ; -return MAX8660_LDO67_MIN_UV + selector *MAX8660_LDO67_STEP ; -} -static int max8660_ldo67_get (struct regulator_dev *rdev) {struct max8660 *max8660 =rdev_get_drvdata (rdev);
@@ -292,7 +271,7 @@ static int max8660_ldo67_set(struct regulator_dev *rdev, int min_uV, selector =DIV_ROUND_UP (min_uV -MAX8660_LDO67_MIN_UV ,MAX8660_LDO67_STEP ); - ret =max8660_ldo67_list (rdev, selector); + ret =regulator_list_voltage_linear (rdev, selector);if (ret <0 || ret > max_uV)return -EINVAL ;
@@ -308,7 +287,7 @@ static struct regulator_ops max8660_ldo67_ops = { .is_enabled = max8660_ldo67_is_enabled, .enable = max8660_ldo67_enable, .disable = max8660_ldo67_disable, - .list_voltage = max8660_ldo67_list, + .list_voltage = regulator_list_voltage_linear, .get_voltage = max8660_ldo67_get, .set_voltage = max8660_ldo67_set, };
@@ -321,6 +300,8 @@ static const struct regulator_desc max8660_reg[] = { .type = REGULATOR_VOLTAGE, .n_voltages = MAX8660_DCDC_MAX_SEL + 1, .owner = THIS_MODULE, + .min_uV = MAX8660_DCDC_MIN_UV, + .uV_step = MAX8660_DCDC_STEP, }, { .name = "V4(DCDC)",
@@ -329,6 +310,8 @@ static const struct regulator_desc max8660_reg[] = { .type = REGULATOR_VOLTAGE, .n_voltages = MAX8660_DCDC_MAX_SEL + 1, .owner = THIS_MODULE, + .min_uV = MAX8660_DCDC_MIN_UV, + .uV_step = MAX8660_DCDC_STEP, }, { .name = "V5(LDO)",
@@ -337,6 +320,8 @@ static const struct regulator_desc max8660_reg[] = { .type = REGULATOR_VOLTAGE, .n_voltages = MAX8660_LDO5_MAX_SEL + 1, .owner = THIS_MODULE, + .min_uV = MAX8660_LDO5_MIN_UV, + .uV_step = MAX8660_LDO5_STEP, }, { .name = "V6(LDO)",
@@ -345,6 +330,8 @@ static const struct regulator_desc max8660_reg[] = { .type = REGULATOR_VOLTAGE, .n_voltages = MAX8660_LDO67_MAX_SEL + 1, .owner = THIS_MODULE, + .min_uV = MAX8660_LDO67_MIN_UV, + .uV_step = MAX8660_LDO67_STEP, }, { .name = "V7(LDO)",
@@ -353,6 +340,8 @@ static const struct regulator_desc max8660_reg[] = { .type = REGULATOR_VOLTAGE, .n_voltages = MAX8660_LDO67_MAX_SEL + 1, .owner = THIS_MODULE, + .min_uV = MAX8660_LDO67_MIN_UV, + .uV_step = MAX8660_LDO67_STEP, }, };
Signature · 1 line
1.7.5.4
PATCH 2/3 regulator: max8660: Convert to get_voltage_sel
Signed-off-by Axel Lin <[email protected]>
--- drivers/regulator/max8660.c | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-)
drivers/regulator/max8660.c +12 -11
@@ -126,12 +126,13 @@ static int max8660_dcdc_disable(struct regulator_dev *rdev)return max8660_write (max8660,MAX8660_OVER1 , mask,0 ); } -static int max8660_dcdc_get (struct regulator_dev *rdev) +static int max8660_dcdc_get_voltage_sel (struct regulator_dev *rdev) {struct max8660 *max8660 =rdev_get_drvdata (rdev); +u8 reg = (rdev_get_id (rdev) ==MAX8660_V3 ) ?MAX8660_ADTV2 :MAX8660_SDTV2 ;u8 selector = max8660->shadow_regs[reg]; -return MAX8660_DCDC_MIN_UV + selector *MAX8660_DCDC_STEP ; +return selector; } static int max8660_dcdc_set(struct regulator_dev *rdev, int min_uV, int max_uV,
@@ -169,7 +170,7 @@ static struct regulator_ops max8660_dcdc_ops = { .is_enabled = max8660_dcdc_is_enabled, .list_voltage = regulator_list_voltage_linear, .set_voltage = max8660_dcdc_set, - .get_voltage = max8660_dcdc_get, + .get_voltage_sel = max8660_dcdc_get_voltage_sel, };
@@ -177,12 +178,12 @@ static struct regulator_ops max8660_dcdc_ops = {* LDO5 functions */ -static int max8660_ldo5_get (struct regulator_dev *rdev) +static int max8660_ldo5_get_voltage_sel (struct regulator_dev *rdev) {struct max8660 *max8660 =rdev_get_drvdata (rdev); -u8 selector = max8660->shadow_regs[MAX8660_MDTV2 ]; -return MAX8660_LDO5_MIN_UV + selector *MAX8660_LDO5_STEP ; +u8 selector = max8660->shadow_regs[MAX8660_MDTV2 ]; +return selector; } static int max8660_ldo5_set(struct regulator_dev *rdev, int min_uV, int max_uV,
@@ -217,7 +218,7 @@ static int max8660_ldo5_set(struct regulator_dev *rdev, int min_uV, int max_uV,static struct regulator_ops max8660_ldo5_ops = { .list_voltage = regulator_list_voltage_linear, .set_voltage = max8660_ldo5_set, - .get_voltage = max8660_ldo5_get, + .get_voltage_sel = max8660_ldo5_get_voltage_sel, };
@@ -247,13 +248,13 @@ static int max8660_ldo67_disable(struct regulator_dev *rdev)return max8660_write (max8660,MAX8660_OVER2 , mask,0 ); } -static int max8660_ldo67_get (struct regulator_dev *rdev) +static int max8660_ldo67_get_voltage_sel (struct regulator_dev *rdev) {struct max8660 *max8660 =rdev_get_drvdata (rdev); +u8 shift = (rdev_get_id (rdev) ==MAX8660_V6 ) ?0 :4 ;u8 selector = (max8660->shadow_regs[MAX8660_L12VCR ] >> shift) &0xf ; - -return MAX8660_LDO67_MIN_UV + selector *MAX8660_LDO67_STEP ; +return selector; } static int max8660_ldo67_set(struct regulator_dev *rdev, int min_uV,
@@ -288,7 +289,7 @@ static struct regulator_ops max8660_ldo67_ops = { .enable = max8660_ldo67_enable, .disable = max8660_ldo67_disable, .list_voltage = regulator_list_voltage_linear, - .get_voltage = max8660_ldo67_get, + .get_voltage_sel = max8660_ldo67_get_voltage_sel, .set_voltage = max8660_ldo67_set, };
Signature · 1 line
1.7.5.4
PATCH 3/3 regulator: max8660: Convert to set_voltage_sel and regulator_map_voltage_linear
In reply to Axel LinSigned-off-by Axel Lin <[email protected]>
--- drivers/regulator/max8660.c | 71 +++++++++---------------------------------- 1 files changed, 15 insertions(+), 56 deletions(-)
drivers/regulator/max8660.c +15 -56
@@ -135,27 +135,13 @@ static int max8660_dcdc_get_voltage_sel(struct regulator_dev *rdev)return selector; } -static int max8660_dcdc_set (struct regulator_dev *rdev,int min_uV,int max_uV, -unsigned int *s) +static int max8660_dcdc_set_voltage_sel (struct regulator_dev *rdev, +unsigned int selector) {struct max8660 *max8660 =rdev_get_drvdata (rdev); -u8 reg, selector, bits; +u8 reg, bits;int ret; -if (min_uV <MAX8660_DCDC_MIN_UV || min_uV >MAX8660_DCDC_MAX_UV ) -return -EINVAL ; -if (max_uV <MAX8660_DCDC_MIN_UV || max_uV >MAX8660_DCDC_MAX_UV ) -return -EINVAL ; - - selector =DIV_ROUND_UP (min_uV -MAX8660_DCDC_MIN_UV , -MAX8660_DCDC_STEP ); - - ret =regulator_list_voltage_linear (rdev, selector); -if (ret <0 || ret > max_uV) -return -EINVAL ; - - *s = selector; - reg = (rdev_get_id (rdev) ==MAX8660_V3 ) ?MAX8660_ADTV2 :MAX8660_SDTV2 ; ret =max8660_write (max8660, reg,0 , selector);if (ret)
@@ -169,7 +155,8 @@ static int max8660_dcdc_set(struct regulator_dev *rdev, int min_uV, int max_uV,static struct regulator_ops max8660_dcdc_ops = { .is_enabled = max8660_dcdc_is_enabled, .list_voltage = regulator_list_voltage_linear, - .set_voltage = max8660_dcdc_set, + .map_voltage = regulator_map_voltage_linear, + .set_voltage_sel = max8660_dcdc_set_voltage_sel, .get_voltage_sel = max8660_dcdc_get_voltage_sel, };
@@ -186,27 +173,12 @@ static int max8660_ldo5_get_voltage_sel(struct regulator_dev *rdev)return selector; } -static int max8660_ldo5_set (struct regulator_dev *rdev,int min_uV,int max_uV, -unsigned int *s) +static int max8660_ldo5_set_voltage_sel (struct regulator_dev *rdev, +unsigned int selector) {struct max8660 *max8660 =rdev_get_drvdata (rdev); -u8 selector;int ret; -if (min_uV <MAX8660_LDO5_MIN_UV || min_uV >MAX8660_LDO5_MAX_UV ) -return -EINVAL ; -if (max_uV <MAX8660_LDO5_MIN_UV || max_uV >MAX8660_LDO5_MAX_UV ) -return -EINVAL ; - - selector =DIV_ROUND_UP (min_uV -MAX8660_LDO5_MIN_UV , -MAX8660_LDO5_STEP ); - - ret =regulator_list_voltage_linear (rdev, selector); -if (ret <0 || ret > max_uV) -return -EINVAL ; - - *s = selector; - ret =max8660_write (max8660,MAX8660_MDTV2 ,0 , selector);if (ret)return ret;
@@ -217,7 +189,8 @@ static int max8660_ldo5_set(struct regulator_dev *rdev, int min_uV, int max_uV,static struct regulator_ops max8660_ldo5_ops = { .list_voltage = regulator_list_voltage_linear, - .set_voltage = max8660_ldo5_set, + .map_voltage = regulator_map_voltage_linear, + .set_voltage_sel = max8660_ldo5_set_voltage_sel, .get_voltage_sel = max8660_ldo5_get_voltage_sel, };
@@ -257,31 +230,16 @@ static int max8660_ldo67_get_voltage_sel(struct regulator_dev *rdev)return selector; } -static int max8660_ldo67_set (struct regulator_dev *rdev,int min_uV, -int max_uV,unsigned int *s) +static int max8660_ldo67_set_voltage_sel (struct regulator_dev *rdev, +unsigned int selector) {struct max8660 *max8660 =rdev_get_drvdata (rdev); -u8 selector; -int ret; - -if (min_uV <MAX8660_LDO67_MIN_UV || min_uV >MAX8660_LDO67_MAX_UV ) -return -EINVAL ; -if (max_uV <MAX8660_LDO67_MIN_UV || max_uV >MAX8660_LDO67_MAX_UV ) -return -EINVAL ; - - selector =DIV_ROUND_UP (min_uV -MAX8660_LDO67_MIN_UV , -MAX8660_LDO67_STEP ); - - ret =regulator_list_voltage_linear (rdev, selector); -if (ret <0 || ret > max_uV) -return -EINVAL ; - - *s = selector;if (rdev_get_id (rdev) ==MAX8660_V6 )return max8660_write (max8660,MAX8660_L12VCR ,0xf0 , selector);else -return max8660_write (max8660,MAX8660_L12VCR ,0x0f , selector <<4 ); +return max8660_write (max8660,MAX8660_L12VCR ,0x0f , + selector <<4 ); }static struct regulator_ops max8660_ldo67_ops = {
@@ -289,8 +247,9 @@ static struct regulator_ops max8660_ldo67_ops = { .enable = max8660_ldo67_enable, .disable = max8660_ldo67_disable, .list_voltage = regulator_list_voltage_linear, + .map_voltage = regulator_map_voltage_linear, .get_voltage_sel = max8660_ldo67_get_voltage_sel, - .set_voltage = max8660_ldo67_set, + .set_voltage_sel = max8660_ldo67_set_voltage_sel, };static const struct regulator_desc max8660_reg[] = {
Signature · 1 line
1.7.5.4
Mark Brown
AppliedQuoted 1 line · Axel Lin
Signed-off-by Axel Lin <[email protected]>
Applied all, thanks.