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, it then extend the of_parse_cb callback to support changing the constraints flags during register of a regulator, 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 Bjorn Andersson (4): mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes regulator: core: Expose init_data to of_parse_cb regulator: qcom: Refactor of-parsing code regulator: qcom: Rework to single platform device Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 201 +++++++++++++- drivers/regulator/max77686.c | 3 +- drivers/regulator/of_regulator.c | 2 +- drivers/regulator/qcom_rpm-regulator.c | 290 ++++++++++++++------- include/linux/regulator/driver.h | 3 +- 5 files changed, 389 insertions(+), 110 deletions(-) -- 1.8.2.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html