[PATCH v2 1/4] dt-bindings: power: reset: Convert mode-.* properties to array

Elliot Berman
2024-04-14T19:32:01Z

PSCI reboot mode will map a mode name to multiple magic values instead
of just one. Convert the mode-.* property to an array. Users of the
reboot-mode schema will need to specify the maxItems of the mode-.*
properties. Existing users will all be 1.

Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
---
.../devicetree/bindings/power/reset/nvmem-reboot-mode.yaml | 4 ++++
Documentation/devicetree/bindings/power/reset/qcom,pon.yaml | 4 ++++
.../devicetree/bindings/power/reset/reboot-mode.yaml | 12 ++++++++++--
.../devicetree/bindings/power/reset/syscon-reboot-mode.yaml | 4 ++++
4 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml
index 627f8a6078c2..03b3b9be36de 100644
--- a/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml
+++ b/Documentation/devicetree/bindings/power/reset/nvmem-reboot-mode.yaml
@@ -30,6 +30,10 @@ properties:

allOf:
- $ref: reboot-mode.yaml#
+ - patternProperties:
+ "^mode-.*$":
+ items:
+ maxItems: 1

required:
- compatible
diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
index fc8105a7b9b2..95964e04d5d6 100644
--- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
+++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
@@ -68,6 +68,10 @@ allOf:
then:
allOf:
- $ref: reboot-mode.yaml#
+ - patternProperties:
+ "^mode-.*$":
+ items:
+ maxItems: 1

properties:
reg:
diff --git a/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml
index ad0a0b95cec1..b9617b8880c3 100644
--- a/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml
+++ b/Documentation/devicetree/bindings/power/reset/reboot-mode.yaml
@@ -28,13 +28,21 @@ description: |

properties:
mode-normal:
- $ref: /schemas/types.yaml#/definitions/uint32
+ $ref: "#/patternProperties/^mode-.*$"
description:
Default value to set on a reboot if no command was provided.

patternProperties:
"^mode-.*$":
- $ref: /schemas/types.yaml#/definitions/uint32
+ $ref: /schemas/types.yaml#/definitions/uint32-matrix
+ # Note: to reference this schema, the allOf should include hint about
+ # maxItems for the inner cell
+ # allOf:
+ # - $ref: /schemas/power/reset/reboot-mode.yaml#
+ # - patternProperties:
+ # "^mode-.*$":
+ # items:
+ # maxItems: 1

additionalProperties: true

diff --git a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml
index b6acff199cde..bf6d68355e7f 100644
--- a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml
+++ b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.yaml
@@ -31,6 +31,10 @@ properties:

allOf:
- $ref: reboot-mode.yaml#
+ - patternProperties:
+ "^mode-.*$":
+ items:
+ maxItems: 1

unevaluatedProperties: false

--
2.34.1