Thread (18 messages) 18 messages, 4 authors, 2021-05-07

Re: [PATCH V2 3/4] dt-bindings: power: reset: qcom-pon: Convert qcom PON binding to yaml

From: <hidden>
Date: 2021-05-05 05:08:58
Also in: linux-arm-msm, linux-input, linux-pm, lkml

On 2021-04-27 14:07, Sebastian Reichel wrote:
Hi,

On Tue, Apr 27, 2021 at 11:45:44AM +0530, skakit@codeaurora.org wrote:
quoted
Hi Sebastian,

On 2021-04-09 13:48, skakit@codeaurora.org wrote:
quoted
Hi Sebastian,

On 2021-04-08 18:30, Sebastian Reichel wrote:
quoted
Hi,

On Thu, Apr 08, 2021 at 05:01:08PM +0530, satya priya wrote:
quoted
Convert qcom PON binding from .txt to .yaml format.

Signed-off-by: satya priya <redacted>
---
Thanks for doing this.
quoted
Changes in V2:
 - As per Rob's comments, converted the main PON binding and
added in V2.
[...]
quoted
quoted
quoted
+  reg:
+    description: Specifies the physical address of the pon register
That description is obvious and pointless. Instead add

maxItems: 1
Okay.
quoted
quoted
+  pwrkey:
+    type: object
+    $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
+
+  resin:
+    type: object
+    $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: true
Instead of allowing arbitrary properties, only valid modes
should be allowed. So drop additionalProperties and do this
instead:

allOf:
  - $ref: reboot-mode.yaml#

unevaluatedProperties: false
Okay.
I am not able to use 'allOf' to refer reboot-mode.yaml as some of the
properties do not match with reboot-mode.yaml properties. Can we use 
oneOf
like below?

oneOf:
  - $ref: "reboot-mode.yaml#"
  - $ref: "../../input/qcom,pm8941-pwrkey.yaml#"
That does not make sense.

The reference to reboot-mode.yaml is needed because it adds valid
mode properties, so that you can set unevaluatedProperties to false.
You need it at the root of the PON binding. They are not added to
the required list, so it's fine if not all of them are used. Also
there can (and usually is) more than one mode, so using oneOf is not
ok.
Okay, but I am getting errors like below during make dtbs_check.

kernel/arch/arm64/boot/dts/qcom/sdm630-sony-xperia-ganges-kirin.dt.yaml: 
pon@800: 'compatible', 'pwrkey', 'reg' do not match any of the regexes: 
'^mode-.*$', 'pinctrl-[0-9]+'

As suggested I have added

allOf:
  - $ref: reboot-mode.yaml#

at the root of binding and also added unevaluatedProperties: false
Last but not least the pwrkey reference is needed to describe
specific nodes (resin, pwrkey) and should not appear at the root
of the PON binding.
quoted
Also, If I drop additionalProperties I am getting below error.

kernel/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml:
'additionalProperties' is a required property
You need to add 'unevaluatedProperties: false'. It is basically
the same as 'additionalProperties: false', but also accepts
properties from the referenced bindings.

Thanks,

-- Sebastian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help