From: Krzysztof Kozlowski Date: Tue, 10 Dec 2013 09:09:43 +0000 (+0100) Subject: regulator: s5m8767: Implement voltage setting for BUCK7/8 regulators X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=463616ea3f4c4ff27019ffcf8f09a25712c1f4c1;p=linux-beck.git regulator: s5m8767: Implement voltage setting for BUCK7/8 regulators Voltage setting for BUCK7 and BUCK8 was not supported by s5m8767 driver. If they were configured in DTS then the driver probing would fail with EINVAL: [ 0.288474] VCC_SUB_1.35V: failed to apply 1350000uV constraint [ 0.288671] s5m8767-pmic s5m8767-pmic: regulator init failed for 35 [ 0.294931] s5m8767-pmic: probe of s5m8767-pmic failed with error -22 This patch adds support for BUCK7 and BUCK8 regulators using standard regmap get/set voltage sel functions. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Sachin Kamat Signed-off-by: Mark Brown --- diff --git a/drivers/regulator/s5m8767.c b/drivers/regulator/s5m8767.c index ef4da4442fa7..9b14faa3bf91 100644 --- a/drivers/regulator/s5m8767.c +++ b/drivers/regulator/s5m8767.c @@ -120,8 +120,8 @@ static const struct sec_voltage_desc *reg_voltage_map[] = { [S5M8767_BUCK4] = &buck_voltage_val2, [S5M8767_BUCK5] = &buck_voltage_val1, [S5M8767_BUCK6] = &buck_voltage_val1, - [S5M8767_BUCK7] = NULL, - [S5M8767_BUCK8] = NULL, + [S5M8767_BUCK7] = &buck_voltage_val3, + [S5M8767_BUCK8] = &buck_voltage_val3, [S5M8767_BUCK9] = &buck_voltage_val3, }; @@ -418,9 +418,12 @@ static struct regulator_ops s5m8767_ops = { }; static struct regulator_ops s5m8767_buck78_ops = { + .list_voltage = regulator_list_voltage_linear, .is_enabled = s5m8767_reg_is_enabled, .enable = s5m8767_reg_enable, .disable = s5m8767_reg_disable, + .get_voltage_sel = regulator_get_voltage_sel_regmap, + .set_voltage_sel = regulator_set_voltage_sel_regmap, }; #define s5m8767_regulator_desc(_name) { \