On 5/29/2014 11:24 AM, Bjorn Andersson wrote: > On Wed, May 28, 2014 at 9:34 AM, Kumar Gala <galak@xxxxxxxxxxxxxx> wrote: >> >> On May 27, 2014, at 12:28 PM, Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> wrote: >> >>> Add binding for the Qualcomm Resource Power Manager (RPM) found in 8660, 8960 >>> and 8064 based devices. The binding currently describes the rpm itself and the >>> regulator subnodes. >>> >>> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> >>> --- >>> Documentation/devicetree/bindings/mfd/qcom,rpm.txt | 284 +++++++++++++++++++++ >>> include/dt-bindings/mfd/qcom_rpm.h | 142 +++++++++++ >>> 2 files changed, 426 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/mfd/qcom,rpm.txt >>> create mode 100644 include/dt-bindings/mfd/qcom_rpm.h >>> >>> diff --git a/Documentation/devicetree/bindings/mfd/qcom,rpm.txt b/Documentation/devicetree/bindings/mfd/qcom,rpm.txt >>> new file mode 100644 >>> index 0000000..3908a5d >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/mfd/qcom,rpm.txt < snip > >>> + >>> +- qcom,force-mode-none: >>> + Usage: optional (default if no other qcom,force-mode is specified) >>> + Value type: <empty> >>> + Defintion: indicates that the regulator should not be forced to any >>> + particular mode >>> + >>> +- qcom,force-mode-lpm: >>> + Usage: optional >>> + Value type: <empty> >>> + Definition: indicates that the regulator should be forced to operate in >>> + low-power-mode >>> + >>> +- qcom,force-mode-auto: >>> + Usage: optional (only available for 8960/8064) >>> + Value type: <empty> >>> + Definition: indicates that the regulator should be automatically pick >>> + operating mode >>> + >>> +- qcom,force-mode-hpm: >>> + Usage: optional (only available for 8960/8064) >>> + Value type: <empty> >>> + Definition: indicates that the regulator should be forced to operate in >>> + high-power-mode >>> + >>> +- qcom,force-mode-bypass: (only for 8960/8064) >>> + Usage: optional (only available for 8960/8064) >>> + Value type: <empty> >>> + Definition: indicates that the regulator should be forced to operate in >>> + bypass mode >>> + >> >> Is force-mode really an enum? Or can we really have multiple force-mode’s set? >> > > Force mode is an enum, you can only set one of these. > > Looking around you can find three ways of doing this: > 1) Make it an int and provide defines in a dt-bindings header file > 2) Make it a string and list the possible values > 3) Make it a set of boolean properties > > I just spent some time in the pinctrl struff that implements 3), I > like the feel of it and I like how the dts ended up looking like. > > But if there's a strong opinion regarding this I could change it. The problem with separate properties is that there is not a way to detect the error of specifying multiple conflicting force-modes at compile time. It also means you can not override the default force-mode from one .dts/.dtsi in another .dts/.dtsi. < snip > -Frank -- 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