Stephen Boyd pointed out that the current design of the Qualcomm RPM and regulator driver consumes 12-20kB of ram just for the platform_device structs. This series starts with a new revision of the dt binding documentation for the rpm regulators, introduces the regulator-allow-drms property, remove the flagging of DRMS support from the qcom-rpm regulator driver, refactor the qcom_rpm-regulator driver to move all custom parse code to a function suitable for usage as of_parse_cb. The final patch defines the tables of registers and change the probe function to register the appropriate regulators based on pmic. As Stephen pointed out in his PATCH/RFC/argument [1], this gives a more accurate representation of input supplies, as they are now named as in the specification. Note that for platforms with multiple pmics (e.g. 8660 and 8974) will have multiple regulator subnodes to the rpm node - something that will be clearer with this binding than the previously suggested. [1] https://lkml.org/lkml/2015/2/26/713 Changes since v1: - Reworked DRMS handling to not have the driver specify the support Bjorn Andersson (5): mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes regulator: Introduce property to flag drms regulator: qcom: Don't enable DRMS in driver regulator: qcom: Refactor of-parsing code regulator: qcom: Rework to single platform device Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 217 +++++++++++++++- .../devicetree/bindings/regulator/regulator.txt | 1 + drivers/regulator/of_regulator.c | 3 + drivers/regulator/qcom_rpm-regulator.c | 289 ++++++++++++++------- 4 files changed, 401 insertions(+), 109 deletions(-) -- 1.8.2.2 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html