Loading drivers/regulator/lp872x.c +10 −60 Original line number Diff line number Diff line Loading @@ -353,64 +353,6 @@ static int lp872x_buck_get_voltage_sel(struct regulator_dev *rdev) return val & LP872X_VOUT_M; } static int lp8725_buck_set_current_limit(struct regulator_dev *rdev, int min_uA, int max_uA) { struct lp872x *lp = rdev_get_drvdata(rdev); enum lp872x_regulator_id buck = rdev_get_id(rdev); int i; u8 addr; switch (buck) { case LP8725_ID_BUCK1: addr = LP8725_BUCK1_VOUT2; break; case LP8725_ID_BUCK2: addr = LP8725_BUCK2_VOUT2; break; default: return -EINVAL; } for (i = ARRAY_SIZE(lp8725_buck_uA) - 1; i >= 0; i--) { if (lp8725_buck_uA[i] >= min_uA && lp8725_buck_uA[i] <= max_uA) return lp872x_update_bits(lp, addr, LP8725_BUCK_CL_M, i << LP8725_BUCK_CL_S); } return -EINVAL; } static int lp8725_buck_get_current_limit(struct regulator_dev *rdev) { struct lp872x *lp = rdev_get_drvdata(rdev); enum lp872x_regulator_id buck = rdev_get_id(rdev); u8 addr, val; int ret; switch (buck) { case LP8725_ID_BUCK1: addr = LP8725_BUCK1_VOUT2; break; case LP8725_ID_BUCK2: addr = LP8725_BUCK2_VOUT2; break; default: return -EINVAL; } ret = lp872x_read_byte(lp, addr, &val); if (ret) return ret; val = (val & LP8725_BUCK_CL_M) >> LP8725_BUCK_CL_S; return (val < ARRAY_SIZE(lp8725_buck_uA)) ? lp8725_buck_uA[val] : -EINVAL; } static int lp872x_buck_set_mode(struct regulator_dev *rdev, unsigned int mode) { struct lp872x *lp = rdev_get_drvdata(rdev); Loading Loading @@ -513,8 +455,8 @@ static const struct regulator_ops lp8725_buck_ops = { .enable_time = lp872x_regulator_enable_time, .set_mode = lp872x_buck_set_mode, .get_mode = lp872x_buck_get_mode, .set_current_limit = lp8725_buck_set_current_limit, .get_current_limit = lp8725_buck_get_current_limit, .set_current_limit = regulator_set_current_limit_regmap, .get_current_limit = regulator_get_current_limit_regmap, }; static const struct regulator_desc lp8720_regulator_desc[] = { Loading Loading @@ -712,6 +654,10 @@ static const struct regulator_desc lp8725_regulator_desc[] = { .owner = THIS_MODULE, .enable_reg = LP872X_GENERAL_CFG, .enable_mask = LP8725_BUCK1_EN_M, .curr_table = lp8725_buck_uA, .n_current_limits = ARRAY_SIZE(lp8725_buck_uA), .csel_reg = LP8725_BUCK1_VOUT2, .csel_mask = LP8725_BUCK_CL_M, }, { .name = "buck2", Loading @@ -724,6 +670,10 @@ static const struct regulator_desc lp8725_regulator_desc[] = { .owner = THIS_MODULE, .enable_reg = LP872X_GENERAL_CFG, .enable_mask = LP8725_BUCK2_EN_M, .curr_table = lp8725_buck_uA, .n_current_limits = ARRAY_SIZE(lp8725_buck_uA), .csel_reg = LP8725_BUCK2_VOUT2, .csel_mask = LP8725_BUCK_CL_M, }, }; Loading Loading
drivers/regulator/lp872x.c +10 −60 Original line number Diff line number Diff line Loading @@ -353,64 +353,6 @@ static int lp872x_buck_get_voltage_sel(struct regulator_dev *rdev) return val & LP872X_VOUT_M; } static int lp8725_buck_set_current_limit(struct regulator_dev *rdev, int min_uA, int max_uA) { struct lp872x *lp = rdev_get_drvdata(rdev); enum lp872x_regulator_id buck = rdev_get_id(rdev); int i; u8 addr; switch (buck) { case LP8725_ID_BUCK1: addr = LP8725_BUCK1_VOUT2; break; case LP8725_ID_BUCK2: addr = LP8725_BUCK2_VOUT2; break; default: return -EINVAL; } for (i = ARRAY_SIZE(lp8725_buck_uA) - 1; i >= 0; i--) { if (lp8725_buck_uA[i] >= min_uA && lp8725_buck_uA[i] <= max_uA) return lp872x_update_bits(lp, addr, LP8725_BUCK_CL_M, i << LP8725_BUCK_CL_S); } return -EINVAL; } static int lp8725_buck_get_current_limit(struct regulator_dev *rdev) { struct lp872x *lp = rdev_get_drvdata(rdev); enum lp872x_regulator_id buck = rdev_get_id(rdev); u8 addr, val; int ret; switch (buck) { case LP8725_ID_BUCK1: addr = LP8725_BUCK1_VOUT2; break; case LP8725_ID_BUCK2: addr = LP8725_BUCK2_VOUT2; break; default: return -EINVAL; } ret = lp872x_read_byte(lp, addr, &val); if (ret) return ret; val = (val & LP8725_BUCK_CL_M) >> LP8725_BUCK_CL_S; return (val < ARRAY_SIZE(lp8725_buck_uA)) ? lp8725_buck_uA[val] : -EINVAL; } static int lp872x_buck_set_mode(struct regulator_dev *rdev, unsigned int mode) { struct lp872x *lp = rdev_get_drvdata(rdev); Loading Loading @@ -513,8 +455,8 @@ static const struct regulator_ops lp8725_buck_ops = { .enable_time = lp872x_regulator_enable_time, .set_mode = lp872x_buck_set_mode, .get_mode = lp872x_buck_get_mode, .set_current_limit = lp8725_buck_set_current_limit, .get_current_limit = lp8725_buck_get_current_limit, .set_current_limit = regulator_set_current_limit_regmap, .get_current_limit = regulator_get_current_limit_regmap, }; static const struct regulator_desc lp8720_regulator_desc[] = { Loading Loading @@ -712,6 +654,10 @@ static const struct regulator_desc lp8725_regulator_desc[] = { .owner = THIS_MODULE, .enable_reg = LP872X_GENERAL_CFG, .enable_mask = LP8725_BUCK1_EN_M, .curr_table = lp8725_buck_uA, .n_current_limits = ARRAY_SIZE(lp8725_buck_uA), .csel_reg = LP8725_BUCK1_VOUT2, .csel_mask = LP8725_BUCK_CL_M, }, { .name = "buck2", Loading @@ -724,6 +670,10 @@ static const struct regulator_desc lp8725_regulator_desc[] = { .owner = THIS_MODULE, .enable_reg = LP872X_GENERAL_CFG, .enable_mask = LP8725_BUCK2_EN_M, .curr_table = lp8725_buck_uA, .n_current_limits = ARRAY_SIZE(lp8725_buck_uA), .csel_reg = LP8725_BUCK2_VOUT2, .csel_mask = LP8725_BUCK_CL_M, }, }; Loading