devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] dt-bindings: arm: Fix bindings used for hierarchical PSCI states
@ 2020-03-03 15:07 Ulf Hansson
  2020-03-03 15:07 ` [PATCH 1/7] dt-bindings: arm: Correct links to idle states definitions Ulf Hansson
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 15:07 UTC (permalink / raw)
  To: Rob Herring, Sudeep Holla, Lorenzo Pieralisi, devicetree
  Cc: Rafael J . Wysocki, Daniel Lezcano, Lina Iyer, Stephen Boyd,
	Bjorn Andersson, Benjamin Gaignard, Ulf Hansson,
	linux-arm-kernel, linux-pm

The recently updated bindings to support hierarchical PSCI states, had a poor
quality from the json-schema point of view. This series fixup the related
bindings and silence various errors/warnings from "make dt_binding_check".

The two last patches updates some DTS files from a QCOM SoC, which is the first
one that uses these new bindings. Perhaps those should be queued via arm-soc
instead, but in any case there are included for reference. 

Kind regards
Ulf Hansson

Ulf Hansson (7):
  dt-bindings: arm: Correct links to idle states definitions
  dt-bindings: arm: Fix cpu compatibles in the hierarchical example for
    PSCI
  dt-bindings: power: Convert domain-idle-states bindings to json-schema
  dt-bindings: power: Extend nodename pattern for power-domain providers
  dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states
  arm64: dts: msm8916: Conform to the domain-idle-state DT binding
  arm64: dts: msm8916: Conform to the nodename pattern for power-domain

 .../devicetree/bindings/arm/cpus.yaml         |  2 +-
 .../bindings/arm/msm/qcom,idle-state.txt      |  2 +-
 .../devicetree/bindings/arm/psci.yaml         | 41 ++++++------
 .../bindings/power/domain-idle-state.txt      | 33 ---------
 .../bindings/power/domain-idle-state.yaml     | 67 +++++++++++++++++++
 .../bindings/power/power-domain.yaml          | 30 ++++-----
 .../bindings/power/power_domain.txt           |  2 +-
 arch/arm64/boot/dts/qcom/msm8916.dtsi         | 13 ++--
 8 files changed, 111 insertions(+), 79 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.txt
 create mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.yaml

-- 
2.20.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/7] dt-bindings: arm: Correct links to idle states definitions
  2020-03-03 15:07 [PATCH 0/7] dt-bindings: arm: Fix bindings used for hierarchical PSCI states Ulf Hansson
@ 2020-03-03 15:07 ` Ulf Hansson
  2020-03-04 14:47   ` Rob Herring
  2020-03-03 15:07 ` [PATCH 2/7] dt-bindings: arm: Fix cpu compatibles in the hierarchical example for PSCI Ulf Hansson
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 15:07 UTC (permalink / raw)
  To: Rob Herring, Sudeep Holla, Lorenzo Pieralisi, devicetree
  Cc: Rafael J . Wysocki, Daniel Lezcano, Lina Iyer, Stephen Boyd,
	Bjorn Andersson, Benjamin Gaignard, Ulf Hansson,
	linux-arm-kernel, linux-pm

The arm,idle-state DT bindings recently got converted to the json-schema,
but some links are still pointing to the old, non-existing, txt file. Let's
update the links to fix this.

Fixes: baac82fe06db ("dt-bindings: arm: Convert arm,idle-state binding to DT schema")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 Documentation/devicetree/bindings/arm/cpus.yaml               | 2 +-
 Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt | 2 +-
 Documentation/devicetree/bindings/arm/psci.yaml               | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
index f61a5a13fb42..31b391a24b70 100644
--- a/Documentation/devicetree/bindings/arm/cpus.yaml
+++ b/Documentation/devicetree/bindings/arm/cpus.yaml
@@ -226,7 +226,7 @@ properties:
     $ref: '/schemas/types.yaml#/definitions/phandle-array'
     description: |
       List of phandles to idle state nodes supported
-      by this cpu (see ./idle-states.txt).
+      by this cpu (see ./idle-states.yaml).
 
   capacity-dmips-mhz:
     $ref: '/schemas/types.yaml#/definitions/uint32'
diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt b/Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt
index 06df04cc827a..6ce0b212ec6d 100644
--- a/Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt
@@ -81,4 +81,4 @@ Example:
 		};
 	};
 
-[1]. Documentation/devicetree/bindings/arm/idle-states.txt
+[1]. Documentation/devicetree/bindings/arm/idle-states.yaml
diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
index 8ef85420b2ab..f8218e60e3e2 100644
--- a/Documentation/devicetree/bindings/arm/psci.yaml
+++ b/Documentation/devicetree/bindings/arm/psci.yaml
@@ -100,7 +100,7 @@ properties:
       bindings in [1]) must specify this property.
 
       [1] Kernel documentation - ARM idle states bindings
-        Documentation/devicetree/bindings/arm/idle-states.txt
+        Documentation/devicetree/bindings/arm/idle-states.yaml
 
   "#power-domain-cells":
     description:
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/7] dt-bindings: arm: Fix cpu compatibles in the hierarchical example for PSCI
  2020-03-03 15:07 [PATCH 0/7] dt-bindings: arm: Fix bindings used for hierarchical PSCI states Ulf Hansson
  2020-03-03 15:07 ` [PATCH 1/7] dt-bindings: arm: Correct links to idle states definitions Ulf Hansson
@ 2020-03-03 15:07 ` Ulf Hansson
  2020-03-04 14:47   ` Rob Herring
  2020-03-03 15:07 ` [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema Ulf Hansson
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 15:07 UTC (permalink / raw)
  To: Rob Herring, Sudeep Holla, Lorenzo Pieralisi, devicetree
  Cc: Rafael J . Wysocki, Daniel Lezcano, Lina Iyer, Stephen Boyd,
	Bjorn Andersson, Benjamin Gaignard, Ulf Hansson,
	linux-arm-kernel, linux-pm

Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 Documentation/devicetree/bindings/arm/psci.yaml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
index f8218e60e3e2..540211a080d4 100644
--- a/Documentation/devicetree/bindings/arm/psci.yaml
+++ b/Documentation/devicetree/bindings/arm/psci.yaml
@@ -199,7 +199,7 @@ examples:
 
       CPU0: cpu@0 {
         device_type = "cpu";
-        compatible = "arm,cortex-a53", "arm,armv8";
+        compatible = "arm,cortex-a53";
         reg = <0x0>;
         enable-method = "psci";
         power-domains = <&CPU_PD0>;
@@ -208,7 +208,7 @@ examples:
 
       CPU1: cpu@1 {
         device_type = "cpu";
-        compatible = "arm,cortex-a57", "arm,armv8";
+        compatible = "arm,cortex-a53";
         reg = <0x100>;
         enable-method = "psci";
         power-domains = <&CPU_PD1>;
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema
  2020-03-03 15:07 [PATCH 0/7] dt-bindings: arm: Fix bindings used for hierarchical PSCI states Ulf Hansson
  2020-03-03 15:07 ` [PATCH 1/7] dt-bindings: arm: Correct links to idle states definitions Ulf Hansson
  2020-03-03 15:07 ` [PATCH 2/7] dt-bindings: arm: Fix cpu compatibles in the hierarchical example for PSCI Ulf Hansson
@ 2020-03-03 15:07 ` Ulf Hansson
  2020-03-03 17:02   ` Rob Herring
  2020-03-04 14:48   ` Rob Herring
  2020-03-03 15:07 ` [PATCH 4/7] dt-bindings: power: Extend nodename pattern for power-domain providers Ulf Hansson
                   ` (3 subsequent siblings)
  6 siblings, 2 replies; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 15:07 UTC (permalink / raw)
  To: Rob Herring, Sudeep Holla, Lorenzo Pieralisi, devicetree
  Cc: Rafael J . Wysocki, Daniel Lezcano, Lina Iyer, Stephen Boyd,
	Bjorn Andersson, Benjamin Gaignard, Ulf Hansson,
	linux-arm-kernel, linux-pm

While converting to the json-schema, let's also take the opportunity to
further specify/clarify some more details about the DT binding.

For example, let's define the label where to put the states nodes, set a
pattern for nodename of the state nodes and finally add an example.

Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 .../devicetree/bindings/arm/psci.yaml         |  2 +-
 .../bindings/power/domain-idle-state.txt      | 33 ---------
 .../bindings/power/domain-idle-state.yaml     | 67 +++++++++++++++++++
 .../bindings/power/power-domain.yaml          | 22 +++---
 .../bindings/power/power_domain.txt           |  2 +-
 5 files changed, 79 insertions(+), 47 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.txt
 create mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.yaml

diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
index 540211a080d4..0bc3c43a525a 100644
--- a/Documentation/devicetree/bindings/arm/psci.yaml
+++ b/Documentation/devicetree/bindings/arm/psci.yaml
@@ -123,7 +123,7 @@ properties:
       to mandate it.
 
       [3] Documentation/devicetree/bindings/power/power_domain.txt
-      [4] Documentation/devicetree/bindings/power/domain-idle-state.txt
+      [4] Documentation/devicetree/bindings/power/domain-idle-state.yaml
 
   power-domains:
     $ref: '/schemas/types.yaml#/definitions/phandle-array'
diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.txt b/Documentation/devicetree/bindings/power/domain-idle-state.txt
deleted file mode 100644
index eefc7ed22ca2..000000000000
--- a/Documentation/devicetree/bindings/power/domain-idle-state.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-PM Domain Idle State Node:
-
-A domain idle state node represents the state parameters that will be used to
-select the state when there are no active components in the domain.
-
-The state node has the following parameters -
-
-- compatible:
-	Usage: Required
-	Value type: <string>
-	Definition: Must be "domain-idle-state".
-
-- entry-latency-us
-	Usage: Required
-	Value type: <prop-encoded-array>
-	Definition: u32 value representing worst case latency in
-		    microseconds required to enter the idle state.
-		    The exit-latency-us duration may be guaranteed
-		    only after entry-latency-us has passed.
-
-- exit-latency-us
-	Usage: Required
-	Value type: <prop-encoded-array>
-	Definition: u32 value representing worst case latency
-		    in microseconds required to exit the idle state.
-
-- min-residency-us
-	Usage: Required
-	Value type: <prop-encoded-array>
-	Definition: u32 value representing minimum residency duration
-		    in microseconds after which the idle state will yield
-		    power benefits after overcoming the overhead in entering
-i		    the idle state.
diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.yaml b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
new file mode 100644
index 000000000000..27da43076b85
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
@@ -0,0 +1,67 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: PM Domain Idle States binding description
+
+maintainers:
+  - Ulf Hansson <ulf.hansson@linaro.org>
+
+description:
+  A domain idle state node represents the state parameters that will be used to
+  select the state when there are no active components in the PM domain.
+
+properties:
+  $nodename:
+    const: domain-idle-states
+
+patternProperties:
+  "^(cpu|cluster|domain)-":
+    type: object
+    description:
+      Each state node represents a domain idle state description.
+
+    properties:
+      compatible:
+        const: domain-idle-state
+
+      entry-latency-us:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description:
+          The worst case latency in microseconds required to enter the idle
+          state. Note that, the exit-latency-us duration may be guaranteed only
+          after the entry-latency-us has passed.
+
+      exit-latency-us:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description:
+          The worst case latency in microseconds required to exit the idle
+          state.
+
+      min-residency-us:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description:
+          The minimum residency duration in microseconds after which the idle
+          state will yield power benefits, after overcoming the overhead while
+          entering the idle state.
+
+    required:
+      - compatible
+      - entry-latency-us
+      - exit-latency-us
+      - min-residency-us
+
+examples:
+  - |
+
+    domain-idle-states {
+      domain_retention: domain-retention {
+        compatible = "domain-idle-state";
+        entry-latency-us = <20>;
+        exit-latency-us = <40>;
+        min-residency-us = <80>;
+      };
+    };
+...
diff --git a/Documentation/devicetree/bindings/power/power-domain.yaml b/Documentation/devicetree/bindings/power/power-domain.yaml
index 455b573293ae..207e63ae10f9 100644
--- a/Documentation/devicetree/bindings/power/power-domain.yaml
+++ b/Documentation/devicetree/bindings/power/power-domain.yaml
@@ -29,18 +29,16 @@ properties:
 
   domain-idle-states:
     $ref: /schemas/types.yaml#/definitions/phandle-array
-    description:
-      A phandle of an idle-state that shall be soaked into a generic domain
-      power state. The idle state definitions are compatible with
-      domain-idle-state specified in
-      Documentation/devicetree/bindings/power/domain-idle-state.txt
-      phandles that are not compatible with domain-idle-state will be ignored.
-      The domain-idle-state property reflects the idle state of this PM domain
-      and not the idle states of the devices or sub-domains in the PM domain.
-      Devices and sub-domains have their own idle-states independent
-      of the parent domain's idle states. In the absence of this property,
-      the domain would be considered as capable of being powered-on
-      or powered-off.
+    description: |
+      Phandles of idle states that defines the available states for the
+      power-domain provider. The idle state definitions are compatible with the
+      domain-idle-state bindings, specified in ./domain-idle-state.yaml.
+
+      Note that, the domain-idle-state property reflects the idle states of this
+      PM domain and not the idle states of the devices or sub-domains in the PM
+      domain. Devices and sub-domains have their own idle states independent of
+      the parent domain's idle states. In the absence of this property, the
+      domain would be considered as capable of being powered-on or powered-off.
 
   operating-points-v2:
     $ref: /schemas/types.yaml#/definitions/phandle-array
diff --git a/Documentation/devicetree/bindings/power/power_domain.txt b/Documentation/devicetree/bindings/power/power_domain.txt
index 5b09b2deb483..08497ef26c7a 100644
--- a/Documentation/devicetree/bindings/power/power_domain.txt
+++ b/Documentation/devicetree/bindings/power/power_domain.txt
@@ -109,4 +109,4 @@ Example:
 		required-opps = <&domain1_opp_1>;
 	};
 
-[1]. Documentation/devicetree/bindings/power/domain-idle-state.txt
+[1]. Documentation/devicetree/bindings/power/domain-idle-state.yaml
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 4/7] dt-bindings: power: Extend nodename pattern for power-domain providers
  2020-03-03 15:07 [PATCH 0/7] dt-bindings: arm: Fix bindings used for hierarchical PSCI states Ulf Hansson
                   ` (2 preceding siblings ...)
  2020-03-03 15:07 ` [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema Ulf Hansson
@ 2020-03-03 15:07 ` Ulf Hansson
  2020-03-03 17:03   ` Rob Herring
  2020-03-03 15:07 ` [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states Ulf Hansson
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 15:07 UTC (permalink / raw)
  To: Rob Herring, Sudeep Holla, Lorenzo Pieralisi, devicetree
  Cc: Rafael J . Wysocki, Daniel Lezcano, Lina Iyer, Stephen Boyd,
	Bjorn Andersson, Benjamin Gaignard, Ulf Hansson,
	linux-arm-kernel, linux-pm

The existing binding requires the nodename to have a '@', which is a bit
limiting for the wider use case. Therefore, let's extend the pattern to
allow either '@' or '-'.

Additionally, let's update one of the examples to show how the updated
pattern could be used.

Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 Documentation/devicetree/bindings/power/power-domain.yaml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/power/power-domain.yaml b/Documentation/devicetree/bindings/power/power-domain.yaml
index 207e63ae10f9..dc232759013e 100644
--- a/Documentation/devicetree/bindings/power/power-domain.yaml
+++ b/Documentation/devicetree/bindings/power/power-domain.yaml
@@ -25,7 +25,7 @@ description: |+
 
 properties:
   $nodename:
-    pattern: "^(power-controller|power-domain)(@.*)?$"
+    pattern: "^(power-controller|power-domain)([@-].*)?$"
 
   domain-idle-states:
     $ref: /schemas/types.yaml#/definitions/phandle-array
@@ -71,13 +71,13 @@ required:
 
 examples:
   - |
-    power: power-controller@12340000 {
-        compatible = "foo,power-controller";
+    power: power-domain-foo {
+        compatible = "foo,power-domain";
         reg = <0x12340000 0x1000>;
         #power-domain-cells = <1>;
     };
 
-    // The node above defines a power controller that is a PM domain provider and
+    // The node above defines a power domain that is a PM domain provider and
     // expects one cell as its phandle argument.
 
   - |
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states
  2020-03-03 15:07 [PATCH 0/7] dt-bindings: arm: Fix bindings used for hierarchical PSCI states Ulf Hansson
                   ` (3 preceding siblings ...)
  2020-03-03 15:07 ` [PATCH 4/7] dt-bindings: power: Extend nodename pattern for power-domain providers Ulf Hansson
@ 2020-03-03 15:07 ` Ulf Hansson
  2020-03-03 17:06   ` Rob Herring
  2020-03-03 15:07 ` [PATCH 6/7] arm64: dts: msm8916: Conform to the domain-idle-state DT binding Ulf Hansson
  2020-03-03 15:07 ` [PATCH 7/7] arm64: dts: msm8916: Conform to the nodename pattern for power-domain Ulf Hansson
  6 siblings, 1 reply; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 15:07 UTC (permalink / raw)
  To: Rob Herring, Sudeep Holla, Lorenzo Pieralisi, devicetree
  Cc: Rafael J . Wysocki, Daniel Lezcano, Lina Iyer, Stephen Boyd,
	Bjorn Andersson, Benjamin Gaignard, Ulf Hansson,
	linux-arm-kernel, linux-pm

The hierarchical topology with power-domain should be described through
child nodes, rather than as currently described in the PSCI root node. Fix
this by adding a patternProperties with a corresponding reference to the
power-domain DT binding.

Additionally, update the example to conform to the new pattern, but also to
the adjusted domain-idle-state DT binding.

Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 .../devicetree/bindings/arm/psci.yaml         | 33 +++++++++----------
 1 file changed, 15 insertions(+), 18 deletions(-)

diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
index 0bc3c43a525a..cae668b61265 100644
--- a/Documentation/devicetree/bindings/arm/psci.yaml
+++ b/Documentation/devicetree/bindings/arm/psci.yaml
@@ -102,11 +102,15 @@ properties:
       [1] Kernel documentation - ARM idle states bindings
         Documentation/devicetree/bindings/arm/idle-states.yaml
 
-  "#power-domain-cells":
-    description:
-      The number of cells in a PM domain specifier as per binding in [3].
-      Must be 0 as to represent a single PM domain.
+required:
+  - compatible
+  - method
 
+patternProperties:
+  "^(power-controller|power-domain)([@-].*)?$":
+    $ref: "../power/power-domain.yaml#"
+    type: object
+    description: |
       ARM systems can have multiple cores, sometimes in an hierarchical
       arrangement. This often, but not always, maps directly to the processor
       power topology of the system. Individual nodes in a topology have their
@@ -122,19 +126,9 @@ properties:
       helps to implement support for OSI mode and OS implementations may choose
       to mandate it.
 
-      [3] Documentation/devicetree/bindings/power/power_domain.txt
+      [3] Documentation/devicetree/bindings/power/power-domain.yaml
       [4] Documentation/devicetree/bindings/power/domain-idle-state.yaml
 
-  power-domains:
-    $ref: '/schemas/types.yaml#/definitions/phandle-array'
-    description:
-      List of phandles and PM domain specifiers, as defined by bindings of the
-      PM domain provider.
-
-required:
-  - compatible
-  - method
-
 allOf:
   - if:
       properties:
@@ -224,6 +218,9 @@ examples:
           exit-latency-us = <10>;
           min-residency-us = <100>;
         };
+      };
+
+      domain-idle-states {
 
         CLUSTER_RET: cluster-retention {
           compatible = "domain-idle-state";
@@ -247,19 +244,19 @@ examples:
       compatible = "arm,psci-1.0";
       method = "smc";
 
-      CPU_PD0: cpu-pd0 {
+      CPU_PD0: power-domain-cpu0 {
         #power-domain-cells = <0>;
         domain-idle-states = <&CPU_PWRDN>;
         power-domains = <&CLUSTER_PD>;
       };
 
-      CPU_PD1: cpu-pd1 {
+      CPU_PD1: power-domain-cpu1 {
         #power-domain-cells = <0>;
         domain-idle-states =  <&CPU_PWRDN>;
         power-domains = <&CLUSTER_PD>;
       };
 
-      CLUSTER_PD: cluster-pd {
+      CLUSTER_PD: power-domain-cluster {
         #power-domain-cells = <0>;
         domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;
       };
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 6/7] arm64: dts: msm8916: Conform to the domain-idle-state DT binding
  2020-03-03 15:07 [PATCH 0/7] dt-bindings: arm: Fix bindings used for hierarchical PSCI states Ulf Hansson
                   ` (4 preceding siblings ...)
  2020-03-03 15:07 ` [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states Ulf Hansson
@ 2020-03-03 15:07 ` Ulf Hansson
  2020-03-03 15:07 ` [PATCH 7/7] arm64: dts: msm8916: Conform to the nodename pattern for power-domain Ulf Hansson
  6 siblings, 0 replies; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 15:07 UTC (permalink / raw)
  To: Rob Herring, Sudeep Holla, Lorenzo Pieralisi, devicetree
  Cc: Rafael J . Wysocki, Daniel Lezcano, Lina Iyer, Stephen Boyd,
	Bjorn Andersson, Benjamin Gaignard, Ulf Hansson,
	linux-arm-kernel, linux-pm

Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 arch/arm64/boot/dts/qcom/msm8916.dtsi | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 9f31064f2374..8f3f19e66cd8 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -165,6 +165,9 @@
 				min-residency-us = <2000>;
 				local-timer-stop;
 			};
+		};
+
+		domain-idle-states {
 
 			CLUSTER_RET: cluster-retention {
 				compatible = "domain-idle-state";
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 7/7] arm64: dts: msm8916: Conform to the nodename pattern for power-domain
  2020-03-03 15:07 [PATCH 0/7] dt-bindings: arm: Fix bindings used for hierarchical PSCI states Ulf Hansson
                   ` (5 preceding siblings ...)
  2020-03-03 15:07 ` [PATCH 6/7] arm64: dts: msm8916: Conform to the domain-idle-state DT binding Ulf Hansson
@ 2020-03-03 15:07 ` Ulf Hansson
  6 siblings, 0 replies; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 15:07 UTC (permalink / raw)
  To: Rob Herring, Sudeep Holla, Lorenzo Pieralisi, devicetree
  Cc: Rafael J . Wysocki, Daniel Lezcano, Lina Iyer, Stephen Boyd,
	Bjorn Andersson, Benjamin Gaignard, Ulf Hansson,
	linux-arm-kernel, linux-pm

The nodename should either start with "power-controller" or "power-domain",
so let's fix this.

Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 arch/arm64/boot/dts/qcom/msm8916.dtsi | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 8f3f19e66cd8..1dd8da481709 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -191,31 +191,31 @@
 		compatible = "arm,psci-1.0";
 		method = "smc";
 
-		CPU_PD0: cpu-pd0 {
+		CPU_PD0: power-domain-cpu0 {
 			#power-domain-cells = <0>;
 			power-domains = <&CLUSTER_PD>;
 			domain-idle-states = <&CPU_SLEEP_0>;
 		};
 
-		CPU_PD1: cpu-pd1 {
+		CPU_PD1: power-domain-cpu1 {
 			#power-domain-cells = <0>;
 			power-domains = <&CLUSTER_PD>;
 			domain-idle-states = <&CPU_SLEEP_0>;
 		};
 
-		CPU_PD2: cpu-pd2 {
+		CPU_PD2: power-domain-cpu2 {
 			#power-domain-cells = <0>;
 			power-domains = <&CLUSTER_PD>;
 			domain-idle-states = <&CPU_SLEEP_0>;
 		};
 
-		CPU_PD3: cpu-pd3 {
+		CPU_PD3: power-domain-cpu3 {
 			#power-domain-cells = <0>;
 			power-domains = <&CLUSTER_PD>;
 			domain-idle-states = <&CPU_SLEEP_0>;
 		};
 
-		CLUSTER_PD: cluster-pd {
+		CLUSTER_PD: power-domain-cluster {
 			#power-domain-cells = <0>;
 			domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;
 		};
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema
  2020-03-03 15:07 ` [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema Ulf Hansson
@ 2020-03-03 17:02   ` Rob Herring
  2020-03-03 20:45     ` Ulf Hansson
  2020-03-04 14:48   ` Rob Herring
  1 sibling, 1 reply; 21+ messages in thread
From: Rob Herring @ 2020-03-03 17:02 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Sudeep Holla, Lorenzo Pieralisi, devicetree, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, linux-arm-kernel, linux-pm

On Tue, Mar 03, 2020 at 04:07:45PM +0100, Ulf Hansson wrote:
> While converting to the json-schema, let's also take the opportunity to
> further specify/clarify some more details about the DT binding.
> 
> For example, let's define the label where to put the states nodes, set a
> pattern for nodename of the state nodes and finally add an example.
> 
> Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  .../devicetree/bindings/arm/psci.yaml         |  2 +-
>  .../bindings/power/domain-idle-state.txt      | 33 ---------
>  .../bindings/power/domain-idle-state.yaml     | 67 +++++++++++++++++++
>  .../bindings/power/power-domain.yaml          | 22 +++---
>  .../bindings/power/power_domain.txt           |  2 +-
>  5 files changed, 79 insertions(+), 47 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.txt
>  create mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
> index 540211a080d4..0bc3c43a525a 100644
> --- a/Documentation/devicetree/bindings/arm/psci.yaml
> +++ b/Documentation/devicetree/bindings/arm/psci.yaml
> @@ -123,7 +123,7 @@ properties:
>        to mandate it.
>  
>        [3] Documentation/devicetree/bindings/power/power_domain.txt
> -      [4] Documentation/devicetree/bindings/power/domain-idle-state.txt
> +      [4] Documentation/devicetree/bindings/power/domain-idle-state.yaml
>  
>    power-domains:
>      $ref: '/schemas/types.yaml#/definitions/phandle-array'
> diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.txt b/Documentation/devicetree/bindings/power/domain-idle-state.txt
> deleted file mode 100644
> index eefc7ed22ca2..000000000000
> --- a/Documentation/devicetree/bindings/power/domain-idle-state.txt
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -PM Domain Idle State Node:
> -
> -A domain idle state node represents the state parameters that will be used to
> -select the state when there are no active components in the domain.
> -
> -The state node has the following parameters -
> -
> -- compatible:
> -	Usage: Required
> -	Value type: <string>
> -	Definition: Must be "domain-idle-state".
> -
> -- entry-latency-us
> -	Usage: Required
> -	Value type: <prop-encoded-array>
> -	Definition: u32 value representing worst case latency in
> -		    microseconds required to enter the idle state.
> -		    The exit-latency-us duration may be guaranteed
> -		    only after entry-latency-us has passed.
> -
> -- exit-latency-us
> -	Usage: Required
> -	Value type: <prop-encoded-array>
> -	Definition: u32 value representing worst case latency
> -		    in microseconds required to exit the idle state.
> -
> -- min-residency-us
> -	Usage: Required
> -	Value type: <prop-encoded-array>
> -	Definition: u32 value representing minimum residency duration
> -		    in microseconds after which the idle state will yield
> -		    power benefits after overcoming the overhead in entering
> -i		    the idle state.
> diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.yaml b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
> new file mode 100644
> index 000000000000..27da43076b85
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
> @@ -0,0 +1,67 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: PM Domain Idle States binding description
> +
> +maintainers:
> +  - Ulf Hansson <ulf.hansson@linaro.org>
> +
> +description:
> +  A domain idle state node represents the state parameters that will be used to
> +  select the state when there are no active components in the PM domain.
> +
> +properties:
> +  $nodename:
> +    const: domain-idle-states
> +
> +patternProperties:
> +  "^(cpu|cluster|domain)-":
> +    type: object
> +    description:
> +      Each state node represents a domain idle state description.
> +
> +    properties:
> +      compatible:
> +        const: domain-idle-state
> +
> +      entry-latency-us:
> +        $ref: /schemas/types.yaml#/definitions/uint32

You don't need a type because the core schema defines it for all 
standard units.

> +        description:
> +          The worst case latency in microseconds required to enter the idle
> +          state. Note that, the exit-latency-us duration may be guaranteed only
> +          after the entry-latency-us has passed.
> +
> +      exit-latency-us:
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +        description:
> +          The worst case latency in microseconds required to exit the idle
> +          state.
> +
> +      min-residency-us:
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +        description:
> +          The minimum residency duration in microseconds after which the idle
> +          state will yield power benefits, after overcoming the overhead while
> +          entering the idle state.
> +
> +    required:
> +      - compatible
> +      - entry-latency-us
> +      - exit-latency-us
> +      - min-residency-us

       additionalProperties: false 

Do we have cases of adding additional properties?

I can fix these up when applying.

Rob

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 4/7] dt-bindings: power: Extend nodename pattern for power-domain providers
  2020-03-03 15:07 ` [PATCH 4/7] dt-bindings: power: Extend nodename pattern for power-domain providers Ulf Hansson
@ 2020-03-03 17:03   ` Rob Herring
  2020-03-03 20:46     ` Ulf Hansson
  0 siblings, 1 reply; 21+ messages in thread
From: Rob Herring @ 2020-03-03 17:03 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Sudeep Holla, Lorenzo Pieralisi, devicetree, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, linux-arm-kernel, linux-pm

On Tue, Mar 03, 2020 at 04:07:46PM +0100, Ulf Hansson wrote:
> The existing binding requires the nodename to have a '@', which is a bit
> limiting for the wider use case. Therefore, let's extend the pattern to
> allow either '@' or '-'.

That's fine, but...

> Additionally, let's update one of the examples to show how the updated
> pattern could be used.
> 
> Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  Documentation/devicetree/bindings/power/power-domain.yaml | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/power/power-domain.yaml b/Documentation/devicetree/bindings/power/power-domain.yaml
> index 207e63ae10f9..dc232759013e 100644
> --- a/Documentation/devicetree/bindings/power/power-domain.yaml
> +++ b/Documentation/devicetree/bindings/power/power-domain.yaml
> @@ -25,7 +25,7 @@ description: |+
>  
>  properties:
>    $nodename:
> -    pattern: "^(power-controller|power-domain)(@.*)?$"
> +    pattern: "^(power-controller|power-domain)([@-].*)?$"
>  
>    domain-idle-states:
>      $ref: /schemas/types.yaml#/definitions/phandle-array
> @@ -71,13 +71,13 @@ required:
>  
>  examples:
>    - |
> -    power: power-controller@12340000 {
> -        compatible = "foo,power-controller";
> +    power: power-domain-foo {
> +        compatible = "foo,power-domain";
>          reg = <0x12340000 0x1000>;

When you have 'reg' you should have a unit-address.

>          #power-domain-cells = <1>;
>      };
>  
> -    // The node above defines a power controller that is a PM domain provider and
> +    // The node above defines a power domain that is a PM domain provider and
>      // expects one cell as its phandle argument.
>  
>    - |
> -- 
> 2.20.1
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states
  2020-03-03 15:07 ` [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states Ulf Hansson
@ 2020-03-03 17:06   ` Rob Herring
  2020-03-03 20:50     ` Ulf Hansson
  0 siblings, 1 reply; 21+ messages in thread
From: Rob Herring @ 2020-03-03 17:06 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Sudeep Holla, Lorenzo Pieralisi, devicetree, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, linux-arm-kernel, linux-pm

On Tue, Mar 03, 2020 at 04:07:47PM +0100, Ulf Hansson wrote:
> The hierarchical topology with power-domain should be described through
> child nodes, rather than as currently described in the PSCI root node. Fix
> this by adding a patternProperties with a corresponding reference to the
> power-domain DT binding.
> 
> Additionally, update the example to conform to the new pattern, but also to
> the adjusted domain-idle-state DT binding.
> 
> Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  .../devicetree/bindings/arm/psci.yaml         | 33 +++++++++----------
>  1 file changed, 15 insertions(+), 18 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
> index 0bc3c43a525a..cae668b61265 100644
> --- a/Documentation/devicetree/bindings/arm/psci.yaml
> +++ b/Documentation/devicetree/bindings/arm/psci.yaml
> @@ -102,11 +102,15 @@ properties:
>        [1] Kernel documentation - ARM idle states bindings
>          Documentation/devicetree/bindings/arm/idle-states.yaml
>  
> -  "#power-domain-cells":
> -    description:
> -      The number of cells in a PM domain specifier as per binding in [3].
> -      Must be 0 as to represent a single PM domain.
> +required:
> +  - compatible
> +  - method

No need to move this.

>  
> +patternProperties:
> +  "^(power-controller|power-domain)([@-].*)?$":
> +    $ref: "../power/power-domain.yaml#"

This has to be under an 'allOf' or the rest of the properties are 
ignored.

> +    type: object
> +    description: |
>        ARM systems can have multiple cores, sometimes in an hierarchical
>        arrangement. This often, but not always, maps directly to the processor
>        power topology of the system. Individual nodes in a topology have their
> @@ -122,19 +126,9 @@ properties:
>        helps to implement support for OSI mode and OS implementations may choose
>        to mandate it.
>  
> -      [3] Documentation/devicetree/bindings/power/power_domain.txt
> +      [3] Documentation/devicetree/bindings/power/power-domain.yaml
>        [4] Documentation/devicetree/bindings/power/domain-idle-state.yaml
>  
> -  power-domains:
> -    $ref: '/schemas/types.yaml#/definitions/phandle-array'
> -    description:
> -      List of phandles and PM domain specifiers, as defined by bindings of the
> -      PM domain provider.
> -
> -required:
> -  - compatible
> -  - method
> -
>  allOf:
>    - if:
>        properties:
> @@ -224,6 +218,9 @@ examples:
>            exit-latency-us = <10>;
>            min-residency-us = <100>;
>          };
> +      };
> +
> +      domain-idle-states {
>  
>          CLUSTER_RET: cluster-retention {
>            compatible = "domain-idle-state";
> @@ -247,19 +244,19 @@ examples:
>        compatible = "arm,psci-1.0";
>        method = "smc";
>  
> -      CPU_PD0: cpu-pd0 {
> +      CPU_PD0: power-domain-cpu0 {
>          #power-domain-cells = <0>;
>          domain-idle-states = <&CPU_PWRDN>;
>          power-domains = <&CLUSTER_PD>;
>        };
>  
> -      CPU_PD1: cpu-pd1 {
> +      CPU_PD1: power-domain-cpu1 {
>          #power-domain-cells = <0>;
>          domain-idle-states =  <&CPU_PWRDN>;
>          power-domains = <&CLUSTER_PD>;
>        };
>  
> -      CLUSTER_PD: cluster-pd {
> +      CLUSTER_PD: power-domain-cluster {
>          #power-domain-cells = <0>;
>          domain-idle-states = <&CLUSTER_RET>, <&CLUSTER_PWRDN>;
>        };
> -- 
> 2.20.1
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema
  2020-03-03 17:02   ` Rob Herring
@ 2020-03-03 20:45     ` Ulf Hansson
  2020-03-03 21:17       ` Rob Herring
  0 siblings, 1 reply; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 20:45 UTC (permalink / raw)
  To: Rob Herring
  Cc: Sudeep Holla, Lorenzo Pieralisi, DTML, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Linux ARM, Linux PM

On Tue, 3 Mar 2020 at 18:02, Rob Herring <robh@kernel.org> wrote:
>
> On Tue, Mar 03, 2020 at 04:07:45PM +0100, Ulf Hansson wrote:
> > While converting to the json-schema, let's also take the opportunity to
> > further specify/clarify some more details about the DT binding.
> >
> > For example, let's define the label where to put the states nodes, set a
> > pattern for nodename of the state nodes and finally add an example.
> >
> > Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > ---
> >  .../devicetree/bindings/arm/psci.yaml         |  2 +-
> >  .../bindings/power/domain-idle-state.txt      | 33 ---------
> >  .../bindings/power/domain-idle-state.yaml     | 67 +++++++++++++++++++
> >  .../bindings/power/power-domain.yaml          | 22 +++---
> >  .../bindings/power/power_domain.txt           |  2 +-
> >  5 files changed, 79 insertions(+), 47 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.txt
> >  create mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
> > index 540211a080d4..0bc3c43a525a 100644
> > --- a/Documentation/devicetree/bindings/arm/psci.yaml
> > +++ b/Documentation/devicetree/bindings/arm/psci.yaml
> > @@ -123,7 +123,7 @@ properties:
> >        to mandate it.
> >
> >        [3] Documentation/devicetree/bindings/power/power_domain.txt
> > -      [4] Documentation/devicetree/bindings/power/domain-idle-state.txt
> > +      [4] Documentation/devicetree/bindings/power/domain-idle-state.yaml
> >
> >    power-domains:
> >      $ref: '/schemas/types.yaml#/definitions/phandle-array'
> > diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.txt b/Documentation/devicetree/bindings/power/domain-idle-state.txt
> > deleted file mode 100644
> > index eefc7ed22ca2..000000000000
> > --- a/Documentation/devicetree/bindings/power/domain-idle-state.txt
> > +++ /dev/null
> > @@ -1,33 +0,0 @@
> > -PM Domain Idle State Node:
> > -
> > -A domain idle state node represents the state parameters that will be used to
> > -select the state when there are no active components in the domain.
> > -
> > -The state node has the following parameters -
> > -
> > -- compatible:
> > -     Usage: Required
> > -     Value type: <string>
> > -     Definition: Must be "domain-idle-state".
> > -
> > -- entry-latency-us
> > -     Usage: Required
> > -     Value type: <prop-encoded-array>
> > -     Definition: u32 value representing worst case latency in
> > -                 microseconds required to enter the idle state.
> > -                 The exit-latency-us duration may be guaranteed
> > -                 only after entry-latency-us has passed.
> > -
> > -- exit-latency-us
> > -     Usage: Required
> > -     Value type: <prop-encoded-array>
> > -     Definition: u32 value representing worst case latency
> > -                 in microseconds required to exit the idle state.
> > -
> > -- min-residency-us
> > -     Usage: Required
> > -     Value type: <prop-encoded-array>
> > -     Definition: u32 value representing minimum residency duration
> > -                 in microseconds after which the idle state will yield
> > -                 power benefits after overcoming the overhead in entering
> > -i                the idle state.
> > diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.yaml b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
> > new file mode 100644
> > index 000000000000..27da43076b85
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
> > @@ -0,0 +1,67 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: PM Domain Idle States binding description
> > +
> > +maintainers:
> > +  - Ulf Hansson <ulf.hansson@linaro.org>
> > +
> > +description:
> > +  A domain idle state node represents the state parameters that will be used to
> > +  select the state when there are no active components in the PM domain.
> > +
> > +properties:
> > +  $nodename:
> > +    const: domain-idle-states
> > +
> > +patternProperties:
> > +  "^(cpu|cluster|domain)-":
> > +    type: object
> > +    description:
> > +      Each state node represents a domain idle state description.
> > +
> > +    properties:
> > +      compatible:
> > +        const: domain-idle-state
> > +
> > +      entry-latency-us:
> > +        $ref: /schemas/types.yaml#/definitions/uint32
>
> You don't need a type because the core schema defines it for all
> standard units.

Okay, I noticed some skips this, but wanted rather to clear and fuzzy.

In any case, yes, let's remove it.

>
> > +        description:
> > +          The worst case latency in microseconds required to enter the idle
> > +          state. Note that, the exit-latency-us duration may be guaranteed only
> > +          after the entry-latency-us has passed.
> > +
> > +      exit-latency-us:
> > +        $ref: /schemas/types.yaml#/definitions/uint32
> > +        description:
> > +          The worst case latency in microseconds required to exit the idle
> > +          state.
> > +
> > +      min-residency-us:
> > +        $ref: /schemas/types.yaml#/definitions/uint32
> > +        description:
> > +          The minimum residency duration in microseconds after which the idle
> > +          state will yield power benefits, after overcoming the overhead while
> > +          entering the idle state.
> > +
> > +    required:
> > +      - compatible
> > +      - entry-latency-us
> > +      - exit-latency-us
> > +      - min-residency-us
>
>        additionalProperties: false
>
> Do we have cases of adding additional properties?

I might, but I am not sure what's the correct way to deal with that.

What I am wondering about is the "arm,psci-suspend-param" property,
currently defined as part of the PSCI bindings (psci.yaml).

I am not sure that's correct to define it as a PSCI binding. Shouldn't
it rather be a part of the idle state bindings (idle-states.yaml) and
the domain idle states binding ($subject patch)?

What do you think?

In any case, we probably want to fix this on top, if we should care.

>
> I can fix these up when applying.

Thanks a lot!

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 4/7] dt-bindings: power: Extend nodename pattern for power-domain providers
  2020-03-03 17:03   ` Rob Herring
@ 2020-03-03 20:46     ` Ulf Hansson
  0 siblings, 0 replies; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 20:46 UTC (permalink / raw)
  To: Rob Herring
  Cc: Sudeep Holla, Lorenzo Pieralisi, DTML, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Linux ARM, Linux PM

On Tue, 3 Mar 2020 at 18:04, Rob Herring <robh@kernel.org> wrote:
>
> On Tue, Mar 03, 2020 at 04:07:46PM +0100, Ulf Hansson wrote:
> > The existing binding requires the nodename to have a '@', which is a bit
> > limiting for the wider use case. Therefore, let's extend the pattern to
> > allow either '@' or '-'.
>
> That's fine, but...
>
> > Additionally, let's update one of the examples to show how the updated
> > pattern could be used.
> >
> > Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > ---
> >  Documentation/devicetree/bindings/power/power-domain.yaml | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/power/power-domain.yaml b/Documentation/devicetree/bindings/power/power-domain.yaml
> > index 207e63ae10f9..dc232759013e 100644
> > --- a/Documentation/devicetree/bindings/power/power-domain.yaml
> > +++ b/Documentation/devicetree/bindings/power/power-domain.yaml
> > @@ -25,7 +25,7 @@ description: |+
> >
> >  properties:
> >    $nodename:
> > -    pattern: "^(power-controller|power-domain)(@.*)?$"
> > +    pattern: "^(power-controller|power-domain)([@-].*)?$"
> >
> >    domain-idle-states:
> >      $ref: /schemas/types.yaml#/definitions/phandle-array
> > @@ -71,13 +71,13 @@ required:
> >
> >  examples:
> >    - |
> > -    power: power-controller@12340000 {
> > -        compatible = "foo,power-controller";
> > +    power: power-domain-foo {
> > +        compatible = "foo,power-domain";
> >          reg = <0x12340000 0x1000>;
>
> When you have 'reg' you should have a unit-address.

Yes, of course, thanks!

[...]

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states
  2020-03-03 17:06   ` Rob Herring
@ 2020-03-03 20:50     ` Ulf Hansson
  2020-03-04 14:53       ` Rob Herring
  0 siblings, 1 reply; 21+ messages in thread
From: Ulf Hansson @ 2020-03-03 20:50 UTC (permalink / raw)
  To: Rob Herring
  Cc: Sudeep Holla, Lorenzo Pieralisi, DTML, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Linux ARM, Linux PM

On Tue, 3 Mar 2020 at 18:06, Rob Herring <robh@kernel.org> wrote:
>
> On Tue, Mar 03, 2020 at 04:07:47PM +0100, Ulf Hansson wrote:
> > The hierarchical topology with power-domain should be described through
> > child nodes, rather than as currently described in the PSCI root node. Fix
> > this by adding a patternProperties with a corresponding reference to the
> > power-domain DT binding.
> >
> > Additionally, update the example to conform to the new pattern, but also to
> > the adjusted domain-idle-state DT binding.
> >
> > Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > ---
> >  .../devicetree/bindings/arm/psci.yaml         | 33 +++++++++----------
> >  1 file changed, 15 insertions(+), 18 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
> > index 0bc3c43a525a..cae668b61265 100644
> > --- a/Documentation/devicetree/bindings/arm/psci.yaml
> > +++ b/Documentation/devicetree/bindings/arm/psci.yaml
> > @@ -102,11 +102,15 @@ properties:
> >        [1] Kernel documentation - ARM idle states bindings
> >          Documentation/devicetree/bindings/arm/idle-states.yaml
> >
> > -  "#power-domain-cells":
> > -    description:
> > -      The number of cells in a PM domain specifier as per binding in [3].
> > -      Must be 0 as to represent a single PM domain.
> > +required:
> > +  - compatible
> > +  - method
>
> No need to move this.

Okay.

>
> >
> > +patternProperties:
> > +  "^(power-controller|power-domain)([@-].*)?$":
> > +    $ref: "../power/power-domain.yaml#"
>
> This has to be under an 'allOf' or the rest of the properties are
> ignored.

Sure, I had the feeling that something was missing. Thanks for reviewing!

[...]

Looks like I should a v2 of the series, or do you prefer to apply some
of the patches before I resend?

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema
  2020-03-03 20:45     ` Ulf Hansson
@ 2020-03-03 21:17       ` Rob Herring
  0 siblings, 0 replies; 21+ messages in thread
From: Rob Herring @ 2020-03-03 21:17 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Sudeep Holla, Lorenzo Pieralisi, DTML, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Linux ARM, Linux PM

On Tue, Mar 3, 2020 at 2:46 PM Ulf Hansson <ulf.hansson@linaro.org> wrote:
>
> On Tue, 3 Mar 2020 at 18:02, Rob Herring <robh@kernel.org> wrote:
> >
> > On Tue, Mar 03, 2020 at 04:07:45PM +0100, Ulf Hansson wrote:
> > > While converting to the json-schema, let's also take the opportunity to
> > > further specify/clarify some more details about the DT binding.
> > >
> > > For example, let's define the label where to put the states nodes, set a
> > > pattern for nodename of the state nodes and finally add an example.
> > >
> > > Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> > > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > > ---
> > >  .../devicetree/bindings/arm/psci.yaml         |  2 +-
> > >  .../bindings/power/domain-idle-state.txt      | 33 ---------
> > >  .../bindings/power/domain-idle-state.yaml     | 67 +++++++++++++++++++
> > >  .../bindings/power/power-domain.yaml          | 22 +++---
> > >  .../bindings/power/power_domain.txt           |  2 +-
> > >  5 files changed, 79 insertions(+), 47 deletions(-)
> > >  delete mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.txt
> > >  create mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
> > > index 540211a080d4..0bc3c43a525a 100644
> > > --- a/Documentation/devicetree/bindings/arm/psci.yaml
> > > +++ b/Documentation/devicetree/bindings/arm/psci.yaml
> > > @@ -123,7 +123,7 @@ properties:
> > >        to mandate it.
> > >
> > >        [3] Documentation/devicetree/bindings/power/power_domain.txt
> > > -      [4] Documentation/devicetree/bindings/power/domain-idle-state.txt
> > > +      [4] Documentation/devicetree/bindings/power/domain-idle-state.yaml
> > >
> > >    power-domains:
> > >      $ref: '/schemas/types.yaml#/definitions/phandle-array'
> > > diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.txt b/Documentation/devicetree/bindings/power/domain-idle-state.txt
> > > deleted file mode 100644
> > > index eefc7ed22ca2..000000000000
> > > --- a/Documentation/devicetree/bindings/power/domain-idle-state.txt
> > > +++ /dev/null
> > > @@ -1,33 +0,0 @@
> > > -PM Domain Idle State Node:
> > > -
> > > -A domain idle state node represents the state parameters that will be used to
> > > -select the state when there are no active components in the domain.
> > > -
> > > -The state node has the following parameters -
> > > -
> > > -- compatible:
> > > -     Usage: Required
> > > -     Value type: <string>
> > > -     Definition: Must be "domain-idle-state".
> > > -
> > > -- entry-latency-us
> > > -     Usage: Required
> > > -     Value type: <prop-encoded-array>
> > > -     Definition: u32 value representing worst case latency in
> > > -                 microseconds required to enter the idle state.
> > > -                 The exit-latency-us duration may be guaranteed
> > > -                 only after entry-latency-us has passed.
> > > -
> > > -- exit-latency-us
> > > -     Usage: Required
> > > -     Value type: <prop-encoded-array>
> > > -     Definition: u32 value representing worst case latency
> > > -                 in microseconds required to exit the idle state.
> > > -
> > > -- min-residency-us
> > > -     Usage: Required
> > > -     Value type: <prop-encoded-array>
> > > -     Definition: u32 value representing minimum residency duration
> > > -                 in microseconds after which the idle state will yield
> > > -                 power benefits after overcoming the overhead in entering
> > > -i                the idle state.
> > > diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.yaml b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
> > > new file mode 100644
> > > index 000000000000..27da43076b85
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
> > > @@ -0,0 +1,67 @@
> > > +# SPDX-License-Identifier: GPL-2.0
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: PM Domain Idle States binding description
> > > +
> > > +maintainers:
> > > +  - Ulf Hansson <ulf.hansson@linaro.org>
> > > +
> > > +description:
> > > +  A domain idle state node represents the state parameters that will be used to
> > > +  select the state when there are no active components in the PM domain.
> > > +
> > > +properties:
> > > +  $nodename:
> > > +    const: domain-idle-states
> > > +
> > > +patternProperties:
> > > +  "^(cpu|cluster|domain)-":
> > > +    type: object
> > > +    description:
> > > +      Each state node represents a domain idle state description.
> > > +
> > > +    properties:
> > > +      compatible:
> > > +        const: domain-idle-state
> > > +
> > > +      entry-latency-us:
> > > +        $ref: /schemas/types.yaml#/definitions/uint32
> >
> > You don't need a type because the core schema defines it for all
> > standard units.
>
> Okay, I noticed some skips this, but wanted rather to clear and fuzzy.
>
> In any case, yes, let's remove it.
>
> >
> > > +        description:
> > > +          The worst case latency in microseconds required to enter the idle
> > > +          state. Note that, the exit-latency-us duration may be guaranteed only
> > > +          after the entry-latency-us has passed.
> > > +
> > > +      exit-latency-us:
> > > +        $ref: /schemas/types.yaml#/definitions/uint32
> > > +        description:
> > > +          The worst case latency in microseconds required to exit the idle
> > > +          state.
> > > +
> > > +      min-residency-us:
> > > +        $ref: /schemas/types.yaml#/definitions/uint32
> > > +        description:
> > > +          The minimum residency duration in microseconds after which the idle
> > > +          state will yield power benefits, after overcoming the overhead while
> > > +          entering the idle state.
> > > +
> > > +    required:
> > > +      - compatible
> > > +      - entry-latency-us
> > > +      - exit-latency-us
> > > +      - min-residency-us
> >
> >        additionalProperties: false
> >
> > Do we have cases of adding additional properties?
>
> I might, but I am not sure what's the correct way to deal with that.

I was thinking more like a vendor adding properties. Is this a base
class that can be extended or every possible property is defined here.
Actually, with the matching on $nodename, we have to put any additions
in here or do a custom 'select'. In any case, I think we can cross
than when/if we get there.

> What I am wondering about is the "arm,psci-suspend-param" property,
> currently defined as part of the PSCI bindings (psci.yaml).
>
> I am not sure that's correct to define it as a PSCI binding. Shouldn't
> it rather be a part of the idle state bindings (idle-states.yaml) and
> the domain idle states binding ($subject patch)?

Indeed it should be moved here.

>
> What do you think?
>
> In any case, we probably want to fix this on top, if we should care.

Yes, that's fine.

Rob

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 1/7] dt-bindings: arm: Correct links to idle states definitions
  2020-03-03 15:07 ` [PATCH 1/7] dt-bindings: arm: Correct links to idle states definitions Ulf Hansson
@ 2020-03-04 14:47   ` Rob Herring
  0 siblings, 0 replies; 21+ messages in thread
From: Rob Herring @ 2020-03-04 14:47 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Sudeep Holla, Lorenzo Pieralisi, devicetree, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Ulf Hansson, linux-arm-kernel, linux-pm

On Tue,  3 Mar 2020 16:07:43 +0100, Ulf Hansson wrote:
> The arm,idle-state DT bindings recently got converted to the json-schema,
> but some links are still pointing to the old, non-existing, txt file. Let's
> update the links to fix this.
> 
> Fixes: baac82fe06db ("dt-bindings: arm: Convert arm,idle-state binding to DT schema")
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  Documentation/devicetree/bindings/arm/cpus.yaml               | 2 +-
>  Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt | 2 +-
>  Documentation/devicetree/bindings/arm/psci.yaml               | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 

Applied, thanks.

Rob

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 2/7] dt-bindings: arm: Fix cpu compatibles in the hierarchical example for PSCI
  2020-03-03 15:07 ` [PATCH 2/7] dt-bindings: arm: Fix cpu compatibles in the hierarchical example for PSCI Ulf Hansson
@ 2020-03-04 14:47   ` Rob Herring
  0 siblings, 0 replies; 21+ messages in thread
From: Rob Herring @ 2020-03-04 14:47 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Sudeep Holla, Lorenzo Pieralisi, devicetree, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Ulf Hansson, linux-arm-kernel, linux-pm

On Tue,  3 Mar 2020 16:07:44 +0100, Ulf Hansson wrote:
> Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  Documentation/devicetree/bindings/arm/psci.yaml | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

Applied, thanks.

Rob

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema
  2020-03-03 15:07 ` [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema Ulf Hansson
  2020-03-03 17:02   ` Rob Herring
@ 2020-03-04 14:48   ` Rob Herring
  1 sibling, 0 replies; 21+ messages in thread
From: Rob Herring @ 2020-03-04 14:48 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Sudeep Holla, Lorenzo Pieralisi, devicetree, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Ulf Hansson, linux-arm-kernel, linux-pm

On Tue,  3 Mar 2020 16:07:45 +0100, Ulf Hansson wrote:
> While converting to the json-schema, let's also take the opportunity to
> further specify/clarify some more details about the DT binding.
> 
> For example, let's define the label where to put the states nodes, set a
> pattern for nodename of the state nodes and finally add an example.
> 
> Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  .../devicetree/bindings/arm/psci.yaml         |  2 +-
>  .../bindings/power/domain-idle-state.txt      | 33 ---------
>  .../bindings/power/domain-idle-state.yaml     | 67 +++++++++++++++++++
>  .../bindings/power/power-domain.yaml          | 22 +++---
>  .../bindings/power/power_domain.txt           |  2 +-
>  5 files changed, 79 insertions(+), 47 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.txt
>  create mode 100644 Documentation/devicetree/bindings/power/domain-idle-state.yaml
> 

Applied, thanks.

Rob

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states
  2020-03-03 20:50     ` Ulf Hansson
@ 2020-03-04 14:53       ` Rob Herring
  2020-03-06 18:29         ` Rob Herring
  0 siblings, 1 reply; 21+ messages in thread
From: Rob Herring @ 2020-03-04 14:53 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Sudeep Holla, Lorenzo Pieralisi, DTML, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Linux ARM, Linux PM

On Tue, Mar 03, 2020 at 09:50:08PM +0100, Ulf Hansson wrote:
> On Tue, 3 Mar 2020 at 18:06, Rob Herring <robh@kernel.org> wrote:
> >
> > On Tue, Mar 03, 2020 at 04:07:47PM +0100, Ulf Hansson wrote:
> > > The hierarchical topology with power-domain should be described through
> > > child nodes, rather than as currently described in the PSCI root node. Fix
> > > this by adding a patternProperties with a corresponding reference to the
> > > power-domain DT binding.
> > >
> > > Additionally, update the example to conform to the new pattern, but also to
> > > the adjusted domain-idle-state DT binding.
> > >
> > > Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> > > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > > ---
> > >  .../devicetree/bindings/arm/psci.yaml         | 33 +++++++++----------
> > >  1 file changed, 15 insertions(+), 18 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
> > > index 0bc3c43a525a..cae668b61265 100644
> > > --- a/Documentation/devicetree/bindings/arm/psci.yaml
> > > +++ b/Documentation/devicetree/bindings/arm/psci.yaml
> > > @@ -102,11 +102,15 @@ properties:
> > >        [1] Kernel documentation - ARM idle states bindings
> > >          Documentation/devicetree/bindings/arm/idle-states.yaml
> > >
> > > -  "#power-domain-cells":
> > > -    description:
> > > -      The number of cells in a PM domain specifier as per binding in [3].
> > > -      Must be 0 as to represent a single PM domain.
> > > +required:
> > > +  - compatible
> > > +  - method
> >
> > No need to move this.
> 
> Okay.
> 
> >
> > >
> > > +patternProperties:
> > > +  "^(power-controller|power-domain)([@-].*)?$":
> > > +    $ref: "../power/power-domain.yaml#"
> >
> > This has to be under an 'allOf' or the rest of the properties are
> > ignored.
> 
> Sure, I had the feeling that something was missing. Thanks for reviewing!
> 
> [...]
> 
> Looks like I should a v2 of the series, or do you prefer to apply some
> of the patches before I resend?

Applied 1-3. I'll wait for v2 of 4 and 5.

Rob

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states
  2020-03-04 14:53       ` Rob Herring
@ 2020-03-06 18:29         ` Rob Herring
  2020-03-09  7:10           ` Ulf Hansson
  0 siblings, 1 reply; 21+ messages in thread
From: Rob Herring @ 2020-03-06 18:29 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Sudeep Holla, Lorenzo Pieralisi, DTML, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Linux ARM, Linux PM

On Wed, Mar 4, 2020 at 8:53 AM Rob Herring <robh@kernel.org> wrote:
>
> On Tue, Mar 03, 2020 at 09:50:08PM +0100, Ulf Hansson wrote:
> > On Tue, 3 Mar 2020 at 18:06, Rob Herring <robh@kernel.org> wrote:
> > >
> > > On Tue, Mar 03, 2020 at 04:07:47PM +0100, Ulf Hansson wrote:
> > > > The hierarchical topology with power-domain should be described through
> > > > child nodes, rather than as currently described in the PSCI root node. Fix
> > > > this by adding a patternProperties with a corresponding reference to the
> > > > power-domain DT binding.
> > > >
> > > > Additionally, update the example to conform to the new pattern, but also to
> > > > the adjusted domain-idle-state DT binding.
> > > >
> > > > Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> > > > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > > > ---
> > > >  .../devicetree/bindings/arm/psci.yaml         | 33 +++++++++----------
> > > >  1 file changed, 15 insertions(+), 18 deletions(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
> > > > index 0bc3c43a525a..cae668b61265 100644
> > > > --- a/Documentation/devicetree/bindings/arm/psci.yaml
> > > > +++ b/Documentation/devicetree/bindings/arm/psci.yaml
> > > > @@ -102,11 +102,15 @@ properties:
> > > >        [1] Kernel documentation - ARM idle states bindings
> > > >          Documentation/devicetree/bindings/arm/idle-states.yaml
> > > >
> > > > -  "#power-domain-cells":
> > > > -    description:
> > > > -      The number of cells in a PM domain specifier as per binding in [3].
> > > > -      Must be 0 as to represent a single PM domain.
> > > > +required:
> > > > +  - compatible
> > > > +  - method
> > >
> > > No need to move this.
> >
> > Okay.
> >
> > >
> > > >
> > > > +patternProperties:
> > > > +  "^(power-controller|power-domain)([@-].*)?$":
> > > > +    $ref: "../power/power-domain.yaml#"
> > >
> > > This has to be under an 'allOf' or the rest of the properties are
> > > ignored.
> >
> > Sure, I had the feeling that something was missing. Thanks for reviewing!
> >
> > [...]
> >
> > Looks like I should a v2 of the series, or do you prefer to apply some
> > of the patches before I resend?
>
> Applied 1-3. I'll wait for v2 of 4 and 5.

In order to fix all warnings by rc5, I fixed up and applied patches 4 and 5.

Rob

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states
  2020-03-06 18:29         ` Rob Herring
@ 2020-03-09  7:10           ` Ulf Hansson
  0 siblings, 0 replies; 21+ messages in thread
From: Ulf Hansson @ 2020-03-09  7:10 UTC (permalink / raw)
  To: Rob Herring
  Cc: Sudeep Holla, Lorenzo Pieralisi, DTML, Rafael J . Wysocki,
	Daniel Lezcano, Lina Iyer, Stephen Boyd, Bjorn Andersson,
	Benjamin Gaignard, Linux ARM, Linux PM

On Fri, 6 Mar 2020 at 19:29, Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Mar 4, 2020 at 8:53 AM Rob Herring <robh@kernel.org> wrote:
> >
> > On Tue, Mar 03, 2020 at 09:50:08PM +0100, Ulf Hansson wrote:
> > > On Tue, 3 Mar 2020 at 18:06, Rob Herring <robh@kernel.org> wrote:
> > > >
> > > > On Tue, Mar 03, 2020 at 04:07:47PM +0100, Ulf Hansson wrote:
> > > > > The hierarchical topology with power-domain should be described through
> > > > > child nodes, rather than as currently described in the PSCI root node. Fix
> > > > > this by adding a patternProperties with a corresponding reference to the
> > > > > power-domain DT binding.
> > > > >
> > > > > Additionally, update the example to conform to the new pattern, but also to
> > > > > the adjusted domain-idle-state DT binding.
> > > > >
> > > > > Fixes: a3f048b5424e ("dt: psci: Update DT bindings to support hierarchical PSCI states")
> > > > > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> > > > > ---
> > > > >  .../devicetree/bindings/arm/psci.yaml         | 33 +++++++++----------
> > > > >  1 file changed, 15 insertions(+), 18 deletions(-)
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/arm/psci.yaml b/Documentation/devicetree/bindings/arm/psci.yaml
> > > > > index 0bc3c43a525a..cae668b61265 100644
> > > > > --- a/Documentation/devicetree/bindings/arm/psci.yaml
> > > > > +++ b/Documentation/devicetree/bindings/arm/psci.yaml
> > > > > @@ -102,11 +102,15 @@ properties:
> > > > >        [1] Kernel documentation - ARM idle states bindings
> > > > >          Documentation/devicetree/bindings/arm/idle-states.yaml
> > > > >
> > > > > -  "#power-domain-cells":
> > > > > -    description:
> > > > > -      The number of cells in a PM domain specifier as per binding in [3].
> > > > > -      Must be 0 as to represent a single PM domain.
> > > > > +required:
> > > > > +  - compatible
> > > > > +  - method
> > > >
> > > > No need to move this.
> > >
> > > Okay.
> > >
> > > >
> > > > >
> > > > > +patternProperties:
> > > > > +  "^(power-controller|power-domain)([@-].*)?$":
> > > > > +    $ref: "../power/power-domain.yaml#"
> > > >
> > > > This has to be under an 'allOf' or the rest of the properties are
> > > > ignored.
> > >
> > > Sure, I had the feeling that something was missing. Thanks for reviewing!
> > >
> > > [...]
> > >
> > > Looks like I should a v2 of the series, or do you prefer to apply some
> > > of the patches before I resend?
> >
> > Applied 1-3. I'll wait for v2 of 4 and 5.
>
> In order to fix all warnings by rc5, I fixed up and applied patches 4 and 5.

Thanks a lot, looks good!

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-03-09  7:11 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-03 15:07 [PATCH 0/7] dt-bindings: arm: Fix bindings used for hierarchical PSCI states Ulf Hansson
2020-03-03 15:07 ` [PATCH 1/7] dt-bindings: arm: Correct links to idle states definitions Ulf Hansson
2020-03-04 14:47   ` Rob Herring
2020-03-03 15:07 ` [PATCH 2/7] dt-bindings: arm: Fix cpu compatibles in the hierarchical example for PSCI Ulf Hansson
2020-03-04 14:47   ` Rob Herring
2020-03-03 15:07 ` [PATCH 3/7] dt-bindings: power: Convert domain-idle-states bindings to json-schema Ulf Hansson
2020-03-03 17:02   ` Rob Herring
2020-03-03 20:45     ` Ulf Hansson
2020-03-03 21:17       ` Rob Herring
2020-03-04 14:48   ` Rob Herring
2020-03-03 15:07 ` [PATCH 4/7] dt-bindings: power: Extend nodename pattern for power-domain providers Ulf Hansson
2020-03-03 17:03   ` Rob Herring
2020-03-03 20:46     ` Ulf Hansson
2020-03-03 15:07 ` [PATCH 5/7] dt-bindings: arm: Fixup the DT bindings for hierarchical PSCI states Ulf Hansson
2020-03-03 17:06   ` Rob Herring
2020-03-03 20:50     ` Ulf Hansson
2020-03-04 14:53       ` Rob Herring
2020-03-06 18:29         ` Rob Herring
2020-03-09  7:10           ` Ulf Hansson
2020-03-03 15:07 ` [PATCH 6/7] arm64: dts: msm8916: Conform to the domain-idle-state DT binding Ulf Hansson
2020-03-03 15:07 ` [PATCH 7/7] arm64: dts: msm8916: Conform to the nodename pattern for power-domain Ulf Hansson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).