From: Mark Brown Date: Sun, 25 Feb 2024 14:59:29 +0000 (+0000) Subject: regulator: mp8859: Support enable control X-Git-Tag: v6.9-rc1~143^2~3^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b79d93d99e084bf1abafba2b7aabff6a06defcd0;p=thirdparty%2Fkernel%2Flinux.git regulator: mp8859: Support enable control The MP8859 provides a software enable control, support it in the regulator driver. Tested-by: Markus Reichl Signed-off-by: Mark Brown Link: https://msgid.link/r/20240225-regulator-mp8859-v1-3-68ee2c839ded@kernel.org Signed-off-by: Mark Brown --- diff --git a/drivers/regulator/mp8859.c b/drivers/regulator/mp8859.c index b07bc63a25cb6..a443ebe927c59 100644 --- a/drivers/regulator/mp8859.c +++ b/drivers/regulator/mp8859.c @@ -35,6 +35,7 @@ #define MP8859_GO_BIT 0x01 +#define MP8859_ENABLE_MASK 0x80 static int mp8859_set_voltage_sel(struct regulator_dev *rdev, unsigned int sel) { @@ -124,6 +125,9 @@ static const struct regulator_ops mp8859_ops = { .set_voltage_sel = mp8859_set_voltage_sel, .get_voltage_sel = mp8859_get_voltage_sel, .list_voltage = regulator_list_voltage_linear_range, + .enable = regulator_enable_regmap, + .disable = regulator_disable_regmap, + .is_enabled = regulator_is_enabled_regmap, }; static const struct regulator_desc mp8859_regulators[] = { @@ -136,6 +140,9 @@ static const struct regulator_desc mp8859_regulators[] = { .n_voltages = VOL_MAX_IDX + 1, .linear_ranges = mp8859_dcdc_ranges, .n_linear_ranges = 1, + .enable_reg = MP8859_CTL1_REG, + .enable_mask = MP8859_ENABLE_MASK, + .enable_val = MP8859_ENABLE_MASK, .ops = &mp8859_ops, .owner = THIS_MODULE, },