]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
regulator: qcom_smd: fix overlooooong supply names
authorLothar Waßmann <LW@KARO-electronics.de>
Thu, 5 Jan 2017 13:43:49 +0000 (14:43 +0100)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 7 Mar 2017 11:41:26 +0000 (12:41 +0100)
The regulator framwork limits the name of a regulator supply to 32
characters:
|static struct device_node *of_get_regulator(struct device *dev, const char *supply)
|{
| struct device_node *regnode = NULL;
| char prop_name[32]; /* 32 is max size of property name */
|
| dev_dbg(dev, "Looking up %s-supply from device tree\n", supply);
|
| snprintf(prop_name, 32, "%s-supply", supply);
| regnode = of_parse_phandle(dev->of_node, prop_name, 0);

Thus, names like 'vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18'
cannot be successfully looked up in DT. Use an abbreviated name.

drivers/regulator/qcom_smd-regulator.c

index 9faef1de185655447ca8ed9df91ea23c00b1c005..b15e74f25c9a318fe7910c75ea867cbc574ec197 100644 (file)
@@ -387,17 +387,17 @@ static const struct rpm_regulator_data rpm_pm8916_regulators[] = {
        { "l5", QCOM_SMD_RPM_LDOA, 5, &pm8916_pldo, "vdd_l4_l5_l6" },
        { "l6", QCOM_SMD_RPM_LDOA, 6, &pm8916_pldo, "vdd_l4_l5_l6" },
        { "l7", QCOM_SMD_RPM_LDOA, 7, &pm8916_pldo, "vdd_l7" },
-       { "l8", QCOM_SMD_RPM_LDOA, 8, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18" },
-       { "l9", QCOM_SMD_RPM_LDOA, 9, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18" },
-       { "l10", QCOM_SMD_RPM_LDOA, 10, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18"},
-       { "l11", QCOM_SMD_RPM_LDOA, 11, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18"},
-       { "l12", QCOM_SMD_RPM_LDOA, 12, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18"},
-       { "l13", QCOM_SMD_RPM_LDOA, 13, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18"},
-       { "l14", QCOM_SMD_RPM_LDOA, 14, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18"},
-       { "l15", QCOM_SMD_RPM_LDOA, 15, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18"},
-       { "l16", QCOM_SMD_RPM_LDOA, 16, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18"},
-       { "l17", QCOM_SMD_RPM_LDOA, 17, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18"},
-       { "l18", QCOM_SMD_RPM_LDOA, 18, &pm8916_pldo, "vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18"},
+       { "l8", QCOM_SMD_RPM_LDOA, 8, &pm8916_pldo, "vdd_l8__l18" },
+       { "l9", QCOM_SMD_RPM_LDOA, 9, &pm8916_pldo, "vdd_l8__l18" },
+       { "l10", QCOM_SMD_RPM_LDOA, 10, &pm8916_pldo, "vdd_l8__l18"},
+       { "l11", QCOM_SMD_RPM_LDOA, 11, &pm8916_pldo, "vdd_l8__l18"},
+       { "l12", QCOM_SMD_RPM_LDOA, 12, &pm8916_pldo, "vdd_l8__l18"},
+       { "l13", QCOM_SMD_RPM_LDOA, 13, &pm8916_pldo, "vdd_l8__l18"},
+       { "l14", QCOM_SMD_RPM_LDOA, 14, &pm8916_pldo, "vdd_l8__l18"},
+       { "l15", QCOM_SMD_RPM_LDOA, 15, &pm8916_pldo, "vdd_l8__l18"},
+       { "l16", QCOM_SMD_RPM_LDOA, 16, &pm8916_pldo, "vdd_l8__l18"},
+       { "l17", QCOM_SMD_RPM_LDOA, 17, &pm8916_pldo, "vdd_l8__l18"},
+       { "l18", QCOM_SMD_RPM_LDOA, 18, &pm8916_pldo, "vdd_l8__l18"},
        {}
 };