Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'regulator-fix-v6.13-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fixes from Mark Brown:
"A couple of fixes that came in during the merge window, plus
documetation of a new device ID for the Qualcomm LABIBB driver.

There's a core fix for the rarely used current constraints and a fix
for the Qualcomm RPMH driver which had described only one of the two
voltage ranges that the hardware could control, creating a potential
incompatibility with the configuration left by firmware"

* tag 'regulator-fix-v6.13-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
regulator: core: Ignore unset max_uA constraints in current limit check
dt-bindings: regulator: qcom-labibb-regulator: document the pmi8950 labibb regulator
regulator: qcom-rpmh: Update ranges for FTSMPS525

+44 -49
+6 -1
Documentation/devicetree/bindings/regulator/qcom-labibb-regulator.yaml
··· 16 16 17 17 properties: 18 18 compatible: 19 - const: qcom,pmi8998-lab-ibb 19 + oneOf: 20 + - const: qcom,pmi8998-lab-ibb 21 + - items: 22 + - enum: 23 + - qcom,pmi8950-lab-ibb 24 + - const: qcom,pmi8998-lab-ibb 20 25 21 26 lab: 22 27 type: object
+2 -1
drivers/regulator/core.c
··· 497 497 return -EPERM; 498 498 } 499 499 500 - if (*max_uA > rdev->constraints->max_uA) 500 + if (*max_uA > rdev->constraints->max_uA && 501 + rdev->constraints->max_uA) 501 502 *max_uA = rdev->constraints->max_uA; 502 503 if (*min_uA < rdev->constraints->min_uA) 503 504 *min_uA = rdev->constraints->min_uA;
+36 -47
drivers/regulator/qcom-rpmh-regulator.c
··· 843 843 .of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode, 844 844 }; 845 845 846 - static const struct rpmh_vreg_hw_data pmic5_ftsmps525_lv = { 846 + static const struct rpmh_vreg_hw_data pmic5_ftsmps525 = { 847 847 .regulator_type = VRM, 848 848 .ops = &rpmh_regulator_vrm_ops, 849 849 .voltage_ranges = (struct linear_range[]) { 850 850 REGULATOR_LINEAR_RANGE(300000, 0, 267, 4000), 851 + REGULATOR_LINEAR_RANGE(1376000, 268, 438, 8000), 851 852 }, 852 - .n_linear_ranges = 1, 853 - .n_voltages = 268, 854 - .pmic_mode_map = pmic_mode_map_pmic5_smps, 855 - .of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode, 856 - }; 857 - 858 - static const struct rpmh_vreg_hw_data pmic5_ftsmps525_mv = { 859 - .regulator_type = VRM, 860 - .ops = &rpmh_regulator_vrm_ops, 861 - .voltage_ranges = (struct linear_range[]) { 862 - REGULATOR_LINEAR_RANGE(600000, 0, 267, 8000), 863 - }, 864 - .n_linear_ranges = 1, 865 - .n_voltages = 268, 853 + .n_linear_ranges = 2, 854 + .n_voltages = 439, 866 855 .pmic_mode_map = pmic_mode_map_pmic5_smps, 867 856 .of_map_mode = rpmh_regulator_pmic4_smps_of_map_mode, 868 857 }; ··· 1179 1190 }; 1180 1191 1181 1192 static const struct rpmh_vreg_init_data pm8550vs_vreg_data[] = { 1182 - RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps525_lv, "vdd-s1"), 1183 - RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps525_lv, "vdd-s2"), 1184 - RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps525_lv, "vdd-s3"), 1185 - RPMH_VREG("smps4", "smp%s4", &pmic5_ftsmps525_lv, "vdd-s4"), 1186 - RPMH_VREG("smps5", "smp%s5", &pmic5_ftsmps525_lv, "vdd-s5"), 1187 - RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps525_mv, "vdd-s6"), 1193 + RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps525, "vdd-s1"), 1194 + RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps525, "vdd-s2"), 1195 + RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps525, "vdd-s3"), 1196 + RPMH_VREG("smps4", "smp%s4", &pmic5_ftsmps525, "vdd-s4"), 1197 + RPMH_VREG("smps5", "smp%s5", &pmic5_ftsmps525, "vdd-s5"), 1198 + RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps525, "vdd-s6"), 1188 1199 RPMH_VREG("ldo1", "ldo%s1", &pmic5_nldo515, "vdd-l1"), 1189 1200 RPMH_VREG("ldo2", "ldo%s2", &pmic5_nldo515, "vdd-l2"), 1190 1201 RPMH_VREG("ldo3", "ldo%s3", &pmic5_nldo515, "vdd-l3"), ··· 1192 1203 }; 1193 1204 1194 1205 static const struct rpmh_vreg_init_data pm8550ve_vreg_data[] = { 1195 - RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps525_lv, "vdd-s1"), 1196 - RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps525_lv, "vdd-s2"), 1197 - RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps525_lv, "vdd-s3"), 1198 - RPMH_VREG("smps4", "smp%s4", &pmic5_ftsmps525_mv, "vdd-s4"), 1199 - RPMH_VREG("smps5", "smp%s5", &pmic5_ftsmps525_lv, "vdd-s5"), 1200 - RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps525_lv, "vdd-s6"), 1201 - RPMH_VREG("smps7", "smp%s7", &pmic5_ftsmps525_lv, "vdd-s7"), 1202 - RPMH_VREG("smps8", "smp%s8", &pmic5_ftsmps525_lv, "vdd-s8"), 1206 + RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps525, "vdd-s1"), 1207 + RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps525, "vdd-s2"), 1208 + RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps525, "vdd-s3"), 1209 + RPMH_VREG("smps4", "smp%s4", &pmic5_ftsmps525, "vdd-s4"), 1210 + RPMH_VREG("smps5", "smp%s5", &pmic5_ftsmps525, "vdd-s5"), 1211 + RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps525, "vdd-s6"), 1212 + RPMH_VREG("smps7", "smp%s7", &pmic5_ftsmps525, "vdd-s7"), 1213 + RPMH_VREG("smps8", "smp%s8", &pmic5_ftsmps525, "vdd-s8"), 1203 1214 RPMH_VREG("ldo1", "ldo%s1", &pmic5_nldo515, "vdd-l1"), 1204 1215 RPMH_VREG("ldo2", "ldo%s2", &pmic5_nldo515, "vdd-l2"), 1205 1216 RPMH_VREG("ldo3", "ldo%s3", &pmic5_nldo515, "vdd-l3"), ··· 1207 1218 }; 1208 1219 1209 1220 static const struct rpmh_vreg_init_data pmc8380_vreg_data[] = { 1210 - RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps525_lv, "vdd-s1"), 1211 - RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps525_lv, "vdd-s2"), 1212 - RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps525_lv, "vdd-s3"), 1213 - RPMH_VREG("smps4", "smp%s4", &pmic5_ftsmps525_mv, "vdd-s4"), 1214 - RPMH_VREG("smps5", "smp%s5", &pmic5_ftsmps525_lv, "vdd-s5"), 1215 - RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps525_lv, "vdd-s6"), 1216 - RPMH_VREG("smps7", "smp%s7", &pmic5_ftsmps525_lv, "vdd-s7"), 1217 - RPMH_VREG("smps8", "smp%s8", &pmic5_ftsmps525_lv, "vdd-s8"), 1221 + RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps525, "vdd-s1"), 1222 + RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps525, "vdd-s2"), 1223 + RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps525, "vdd-s3"), 1224 + RPMH_VREG("smps4", "smp%s4", &pmic5_ftsmps525, "vdd-s4"), 1225 + RPMH_VREG("smps5", "smp%s5", &pmic5_ftsmps525, "vdd-s5"), 1226 + RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps525, "vdd-s6"), 1227 + RPMH_VREG("smps7", "smp%s7", &pmic5_ftsmps525, "vdd-s7"), 1228 + RPMH_VREG("smps8", "smp%s8", &pmic5_ftsmps525, "vdd-s8"), 1218 1229 RPMH_VREG("ldo1", "ldo%s1", &pmic5_nldo515, "vdd-l1"), 1219 1230 RPMH_VREG("ldo2", "ldo%s2", &pmic5_nldo515, "vdd-l2"), 1220 1231 RPMH_VREG("ldo3", "ldo%s3", &pmic5_nldo515, "vdd-l3"), ··· 1398 1409 }; 1399 1410 1400 1411 static const struct rpmh_vreg_init_data pmx75_vreg_data[] = { 1401 - RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps525_lv, "vdd-s1"), 1402 - RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps525_lv, "vdd-s2"), 1403 - RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps525_lv, "vdd-s3"), 1404 - RPMH_VREG("smps4", "smp%s4", &pmic5_ftsmps525_mv, "vdd-s4"), 1405 - RPMH_VREG("smps5", "smp%s5", &pmic5_ftsmps525_lv, "vdd-s5"), 1406 - RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps525_lv, "vdd-s6"), 1407 - RPMH_VREG("smps7", "smp%s7", &pmic5_ftsmps525_lv, "vdd-s7"), 1408 - RPMH_VREG("smps8", "smp%s8", &pmic5_ftsmps525_lv, "vdd-s8"), 1409 - RPMH_VREG("smps9", "smp%s9", &pmic5_ftsmps525_lv, "vdd-s9"), 1410 - RPMH_VREG("smps10", "smp%s10", &pmic5_ftsmps525_lv, "vdd-s10"), 1412 + RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps525, "vdd-s1"), 1413 + RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps525, "vdd-s2"), 1414 + RPMH_VREG("smps3", "smp%s3", &pmic5_ftsmps525, "vdd-s3"), 1415 + RPMH_VREG("smps4", "smp%s4", &pmic5_ftsmps525, "vdd-s4"), 1416 + RPMH_VREG("smps5", "smp%s5", &pmic5_ftsmps525, "vdd-s5"), 1417 + RPMH_VREG("smps6", "smp%s6", &pmic5_ftsmps525, "vdd-s6"), 1418 + RPMH_VREG("smps7", "smp%s7", &pmic5_ftsmps525, "vdd-s7"), 1419 + RPMH_VREG("smps8", "smp%s8", &pmic5_ftsmps525, "vdd-s8"), 1420 + RPMH_VREG("smps9", "smp%s9", &pmic5_ftsmps525, "vdd-s9"), 1421 + RPMH_VREG("smps10", "smp%s10", &pmic5_ftsmps525, "vdd-s10"), 1411 1422 RPMH_VREG("ldo1", "ldo%s1", &pmic5_nldo515, "vdd-l1"), 1412 1423 RPMH_VREG("ldo2", "ldo%s2", &pmic5_nldo515, "vdd-l2-18"), 1413 1424 RPMH_VREG("ldo3", "ldo%s3", &pmic5_nldo515, "vdd-l3"),