aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Halaney <ahalaney@redhat.com>2022-09-07 15:49:24 -0500
committerMark Brown <broonie@kernel.org>2022-09-08 15:54:05 +0100
commit08865c2150392f67769a9d6e0b02800be226a990 (patch)
tree47a1be45ea3f2cda9fe19a4a4af89e098bba4376
parentregulator: bd9576: switch to using devm_fwnode_gpiod_get() (diff)
downloadlinux-dev-08865c2150392f67769a9d6e0b02800be226a990.tar.xz
linux-dev-08865c2150392f67769a9d6e0b02800be226a990.zip
regulator: dt-bindings: qcom,rpmh: Indicate regulator-allow-set-load dependencies
For RPMH regulators it doesn't make sense to indicate regulator-allow-set-load without saying what modes you can switch to, so be sure to indicate a dependency on regulator-allowed-modes. In general this is true for any regulators that are setting modes instead of setting a load directly, for example RPMH regulators. A counter example would be RPM based regulators, which set a load change directly instead of a mode change. In the RPM case regulator-allow-set-load alone is sufficient to describe the regulator (the regulator can change its output current, here's the new load), but in the RPMH case what valid operating modes exist must also be stated to properly describe the regulator (the new load is this, what is the optimum mode for this regulator with that load, let's change to that mode now). With this in place devicetree validation can catch issues like this: /mnt/extrassd/git/linux-next/arch/arm64/boot/dts/qcom/sm8350-hdk.dtb: pm8350-rpmh-regulators: ldo5: 'regulator-allowed-modes' is a dependency of 'regulator-allow-set-load' From schema: /mnt/extrassd/git/linux-next/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml Where the RPMH regulator hardware is described as being settable, but there are no modes described to set it to! Suggested-by: Johan Hovold <johan+kernel@kernel.org> Reviewed-by: Johan Hovold <johan+kernel@kernel.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Andrew Halaney <ahalaney@redhat.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20220907204924.173030-1-ahalaney@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml4
1 files changed, 4 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
index 9a36bee750af..92ff4d59ba20 100644
--- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
@@ -99,12 +99,16 @@ properties:
type: object
$ref: "regulator.yaml#"
description: BOB regulator node.
+ dependencies:
+ regulator-allow-set-load: ["regulator-allowed-modes"]
patternProperties:
"^(smps|ldo|lvs)[0-9]+$":
type: object
$ref: "regulator.yaml#"
description: smps/ldo regulator nodes(s).
+ dependencies:
+ regulator-allow-set-load: ["regulator-allowed-modes"]
required:
- compatible