2023-06-07 07:19:13

by Mehta, Piyush

[permalink] [raw]
Subject: [PATCH 0/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt to yaml

This series of patch convert txt file (xlnx,zynqmp-reset.txt) to yaml
(xlnx,zynqmp-reset.yaml) DT schema format and adding reset-controller
property to the firmware dt-binding.

---
Note:
The 1/2 patch introduced a warning related to the dt binding check,
which was subsequently fixed in the 2/2 patch. This warning is a
conversion warning due to a dependency on firmware dt binding.

Warning:
DTC_CHK Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb
/scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb: zynqmp-firmware: 'reset-controller' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml

Please suggest to me, if it's fine to make a single patch instead
of the separate patch 1/2 and 2/2.
---
Piyush Mehta (2):
dt-bindings: reset: convert the xlnx,zynqmp-reset.txt to yaml
dt-bindings: firmware: add reset-controller property

.../firmware/xilinx/xlnx,zynqmp-firmware.yaml | 11 +++
.../bindings/reset/xlnx,zynqmp-reset.txt | 55 ---------------
.../bindings/reset/xlnx,zynqmp-reset.yaml | 67 +++++++++++++++++++
3 files changed, 78 insertions(+), 55 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
create mode 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml

--
2.25.1



2023-06-07 07:23:13

by Mehta, Piyush

[permalink] [raw]
Subject: [PATCH 2/2] dt-bindings: firmware: add reset-controller property

The reset controller is responsible for managing both device-level resets
and individual PMC (Power Management Controller) block resets.

To facilitate this functionality reset-controller property is added to the
firmware device tree binding.

Signed-off-by: Piyush Mehta <[email protected]>
---
.../firmware/xilinx/xlnx,zynqmp-firmware.yaml | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
index f14f7b454f07..04d875a535d3 100644
--- a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
+++ b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
@@ -59,6 +59,12 @@ properties:
controller.
type: object

+ reset-controller:
+ $ref: /schemas/reset/xlnx,zynqmp-reset.yaml#
+ description: The reset-controller has the ability to reset lines connected
+ to different blocks and peripherals in the SoC.
+ type: object
+
required:
- compatible

@@ -84,6 +90,11 @@ examples:
clocks = <&ref>, <&alt_ref>, <&pl_alt_ref>;
clock-names = "ref", "alt_ref", "pl_alt_ref";
};
+
+ zynqmp_reset: reset-controller {
+ compatible = "xlnx,zynqmp-reset";
+ #reset-cells = <1>;
+ };
};

...
--
2.25.1


2023-06-07 07:23:34

by Mehta, Piyush

[permalink] [raw]
Subject: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt to yaml

Convert the binding to DT schema format. It also updates the
reset-controller description.

Signed-off-by: Piyush Mehta <[email protected]>
---
Note:
The 1/2 patch introduced a warning related to the dt binding check,
which was subsequently fixed in the 2/2 patch. This warning is a
conversion warning due to a dependency on firmware dt binding.

Warning:
DTC_CHK Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb
/scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb: zynqmp-firmware: 'reset-controller' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml

Please suggest to me, if it's fine to make a single patch instead of the
separate patch 1/2 and 2/2.
---
.../bindings/reset/xlnx,zynqmp-reset.txt | 55 ---------------
.../bindings/reset/xlnx,zynqmp-reset.yaml | 67 +++++++++++++++++++
2 files changed, 67 insertions(+), 55 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
create mode 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml

diff --git a/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt b/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
deleted file mode 100644
index ed836868dbf1..000000000000
--- a/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
+++ /dev/null
@@ -1,55 +0,0 @@
---------------------------------------------------------------------------
- = Zynq UltraScale+ MPSoC and Versal reset driver binding =
---------------------------------------------------------------------------
-The Zynq UltraScale+ MPSoC and Versal has several different resets.
-
-See Chapter 36 of the Zynq UltraScale+ MPSoC TRM (UG) for more information
-about zynqmp resets.
-
-Please also refer to reset.txt in this directory for common reset
-controller binding usage.
-
-Required Properties:
-- compatible: "xlnx,zynqmp-reset" for Zynq UltraScale+ MPSoC platform
- "xlnx,versal-reset" for Versal platform
-- #reset-cells: Specifies the number of cells needed to encode reset
- line, should be 1
-
--------
-Example
--------
-
-firmware {
- zynqmp_firmware: zynqmp-firmware {
- compatible = "xlnx,zynqmp-firmware";
- method = "smc";
-
- zynqmp_reset: reset-controller {
- compatible = "xlnx,zynqmp-reset";
- #reset-cells = <1>;
- };
- };
-};
-
-Specifying reset lines connected to IP modules
-==============================================
-
-Device nodes that need access to reset lines should
-specify them as a reset phandle in their corresponding node as
-specified in reset.txt.
-
-For list of all valid reset indices for Zynq UltraScale+ MPSoC see
-<dt-bindings/reset/xlnx-zynqmp-resets.h>
-For list of all valid reset indices for Versal see
-<dt-bindings/reset/xlnx-versal-resets.h>
-
-Example:
-
-serdes: zynqmp_phy@fd400000 {
- ...
-
- resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
- reset-names = "sata_rst";
-
- ...
-};
diff --git a/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml b/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
new file mode 100644
index 000000000000..df207ca22990
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
@@ -0,0 +1,67 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reset/xlnx,zynqmp-reset.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Zynq UltraScale+ MPSoC and Versal reset binding
+
+maintainers:
+ - Piyush Mehta <[email protected]>
+
+description: |
+ The Zynq UltraScale+ MPSoC and Versal has several different resets.
+
+ The PS reset subsystem is responsible for handling the external reset
+ input to the device and that all internal reset requirements are met
+ for the system (as a whole) and for the functional units.
+
+ Please also refer to reset.txt in this directory for common reset
+ controller binding usage. Device nodes that need access to reset
+ lines should specify them as a reset phandle in their corresponding
+ node as specified in reset.txt.
+
+ For list of all valid reset indices for Zynq UltraScale+ MPSoC
+ <dt-bindings/reset/xlnx-zynqmp-resets.h>
+
+ For list of all valid reset indices for Versal
+ <dt-bindings/reset/xlnx-versal-resets.h>
+
+properties:
+ compatible:
+ enum:
+ - xlnx,zynqmp-reset
+ - xlnx,versal-reset
+
+ "#reset-cells":
+ const: 1
+
+required:
+ - compatible
+ - "#reset-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/reset/xlnx-zynqmp-resets.h>
+
+ firmware {
+ zynqmp_firmware: zynqmp-firmware {
+ compatible = "xlnx,zynqmp-firmware";
+ method = "smc";
+
+ zynqmp_reset: reset-controller {
+ compatible = "xlnx,zynqmp-reset";
+ #reset-cells = <1>;
+ };
+ };
+ };
+
+ /* Specifying sata reset control of devices */
+ sata {
+ resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
+ reset-names = "sata_rst";
+ };
+
+...
--
2.25.1


2023-06-07 07:53:07

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 2/2] dt-bindings: firmware: add reset-controller property


On Wed, 07 Jun 2023 12:21:21 +0530, Piyush Mehta wrote:
> The reset controller is responsible for managing both device-level resets
> and individual PMC (Power Management Controller) block resets.
>
> To facilitate this functionality reset-controller property is added to the
> firmware device tree binding.
>
> Signed-off-by: Piyush Mehta <[email protected]>
> ---
> .../firmware/xilinx/xlnx,zynqmp-firmware.yaml | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
./Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml: Unable to find schema file matching $id: http://devicetree.org/schemas/reset/xlnx,zynqmp-reset.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.example.dtb: versal-firmware: reset-controller: False schema does not allow {'compatible': ['xlnx,zynqmp-reset'], '#reset-cells': [[1]]}
From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.example.dtb: /example-0/versal-firmware/reset-controller: failed to match any schema with compatible: ['xlnx,zynqmp-reset']

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


2023-06-07 07:58:25

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt to yaml


On Wed, 07 Jun 2023 12:21:20 +0530, Piyush Mehta wrote:
> Convert the binding to DT schema format. It also updates the
> reset-controller description.
>
> Signed-off-by: Piyush Mehta <[email protected]>
> ---
> Note:
> The 1/2 patch introduced a warning related to the dt binding check,
> which was subsequently fixed in the 2/2 patch. This warning is a
> conversion warning due to a dependency on firmware dt binding.
>
> Warning:
> DTC_CHK Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb
> /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb: zynqmp-firmware: 'reset-controller' does not match any of the regexes: 'pinctrl-[0-9]+'
> From schema: /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml
>
> Please suggest to me, if it's fine to make a single patch instead of the
> separate patch 1/2 and 2/2.
> ---
> .../bindings/reset/xlnx,zynqmp-reset.txt | 55 ---------------
> .../bindings/reset/xlnx,zynqmp-reset.yaml | 67 +++++++++++++++++++
> 2 files changed, 67 insertions(+), 55 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
> create mode 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb: zynqmp-firmware: 'reset-controller' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/[email protected]

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


2023-06-08 11:30:56

by Mehta, Piyush

[permalink] [raw]
Subject: RE: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt to yaml

Hello,

> -----Original Message-----
> From: Rob Herring <[email protected]>
> Sent: Wednesday, June 7, 2023 1:06 PM
> To: Mehta, Piyush <[email protected]>
> Cc: [email protected]; Paladugu, Siva Durga Prasad
> <[email protected]>; [email protected];
> [email protected]; [email protected]; linux-
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; Simek, Michal
> <[email protected]>; git (AMD-Xilinx) <[email protected]>
> Subject: Re: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt
> to yaml
>
>
> On Wed, 07 Jun 2023 12:21:20 +0530, Piyush Mehta wrote:
> > Convert the binding to DT schema format. It also updates the
> > reset-controller description.
> >
> > Signed-off-by: Piyush Mehta <[email protected]>
> > ---
> > Note:
> > The 1/2 patch introduced a warning related to the dt binding check,
> > which was subsequently fixed in the 2/2 patch. This warning is a
> > conversion warning due to a dependency on firmware dt binding.
> >
> > Warning:
> > DTC_CHK
> > Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb
> >
> /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/reset/xln
> x,zynqmp-reset.example.dtb: zynqmp-firmware: 'reset-controller' does not
> match any of the regexes: 'pinctrl-[0-9]+'
> > From schema:
> > /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/firm
> > ware/xilinx/xlnx,zynqmp-firmware.yaml
> >
> > Please suggest to me, if it's fine to make a single patch instead of
> > the separate patch 1/2 and 2/2.
> > ---
> > .../bindings/reset/xlnx,zynqmp-reset.txt | 55 ---------------
> > .../bindings/reset/xlnx,zynqmp-reset.yaml | 67 +++++++++++++++++++
> > 2 files changed, 67 insertions(+), 55 deletions(-) delete mode
> > 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
> > create mode 100644
> > Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
> >
>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-
> ci/linux/Documentation/devicetree/bindings/reset/xlnx,zynqmp-
> reset.example.dtb: zynqmp-firmware: 'reset-controller' does not match any of
> the regexes: 'pinctrl-[0-9]+'
> From schema: /builds/robherring/dt-review-
> ci/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-
> firmware.yaml
>
> doc reference errors (make refcheckdocs):
>
> See https://patchwork.ozlabs.org/project/devicetree-
> bindings/patch/[email protected]
>
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
>
> If you already ran 'make dt_binding_check' and didn't see the above error(s),
> then make sure 'yamllint' is installed and dt-schema is up to
> date:
>
> pip3 install dtschema --upgrade
>
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.

This dt_binding warning is known to us and is captured in commit description notes and to resolve it, we need to apply 2/2.
I want to take DT maintainer opinion if we should keep the fix in 2/2 or merge it in 1/2.

Regards,
Piyush Mehta

2023-06-08 11:39:55

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt to yaml

On 08/06/2023 12:55, Mehta, Piyush wrote:
> Hello,
>
>> -----Original Message-----
>> From: Rob Herring <[email protected]>
>> Sent: Wednesday, June 7, 2023 1:06 PM
>> To: Mehta, Piyush <[email protected]>
>> Cc: [email protected]; Paladugu, Siva Durga Prasad
>> <[email protected]>; [email protected];
>> [email protected]; [email protected]; linux-
>> [email protected]; [email protected]; [email protected];
>> [email protected]; [email protected]; Simek, Michal
>> <[email protected]>; git (AMD-Xilinx) <[email protected]>
>> Subject: Re: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt
>> to yaml
>>
>>
>> On Wed, 07 Jun 2023 12:21:20 +0530, Piyush Mehta wrote:
>>> Convert the binding to DT schema format. It also updates the
>>> reset-controller description.
>>>
>>> Signed-off-by: Piyush Mehta <[email protected]>
>>> ---
>>> Note:
>>> The 1/2 patch introduced a warning related to the dt binding check,
>>> which was subsequently fixed in the 2/2 patch. This warning is a
>>> conversion warning due to a dependency on firmware dt binding.
>>>
>>> Warning:
>>> DTC_CHK
>>> Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb
>>>
>> /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/reset/xln
>> x,zynqmp-reset.example.dtb: zynqmp-firmware: 'reset-controller' does not
>> match any of the regexes: 'pinctrl-[0-9]+'
>>> From schema:
>>> /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/firm
>>> ware/xilinx/xlnx,zynqmp-firmware.yaml
>>>
>>> Please suggest to me, if it's fine to make a single patch instead of
>>> the separate patch 1/2 and 2/2.
>>> ---
>>> .../bindings/reset/xlnx,zynqmp-reset.txt | 55 ---------------
>>> .../bindings/reset/xlnx,zynqmp-reset.yaml | 67 +++++++++++++++++++
>>> 2 files changed, 67 insertions(+), 55 deletions(-) delete mode
>>> 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
>>> create mode 100644
>>> Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
>>>
>>
>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> /builds/robherring/dt-review-
>> ci/linux/Documentation/devicetree/bindings/reset/xlnx,zynqmp-
>> reset.example.dtb: zynqmp-firmware: 'reset-controller' does not match any of
>> the regexes: 'pinctrl-[0-9]+'
>> From schema: /builds/robherring/dt-review-
>> ci/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-
>> firmware.yaml
>>
>> doc reference errors (make refcheckdocs):
>>
>> See https://patchwork.ozlabs.org/project/devicetree-
>> bindings/patch/[email protected]
>>
>> The base for the series is generally the latest rc1. A different dependency
>> should be noted in *this* patch.
>>
>> If you already ran 'make dt_binding_check' and didn't see the above error(s),
>> then make sure 'yamllint' is installed and dt-schema is up to
>> date:
>>
>> pip3 install dtschema --upgrade
>>
>> Please check and re-submit after running the above command yourself. Note
>> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
>> your schema. However, it must be unset to test all examples with your schema.
>
> This dt_binding warning is known to us and is captured in commit description notes and to resolve it, we need to apply 2/2.

So your patchset has broken bisectability. You need to fix it. If the
warning was known, then I am surprised that you sent broken patchset.

> I want to take DT maintainer opinion if we should keep the fix in 2/2 or merge it in 1/2.

Just avoid the warning. Anyway you need only one complete example, right?

Best regards,
Krzysztof


2023-06-08 11:45:27

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt to yaml



On 6/8/23 13:29, Krzysztof Kozlowski wrote:
> On 08/06/2023 12:55, Mehta, Piyush wrote:
>> Hello,
>>
>>> -----Original Message-----
>>> From: Rob Herring <[email protected]>
>>> Sent: Wednesday, June 7, 2023 1:06 PM
>>> To: Mehta, Piyush <[email protected]>
>>> Cc: [email protected]; Paladugu, Siva Durga Prasad
>>> <[email protected]>; [email protected];
>>> [email protected]; [email protected]; linux-
>>> [email protected]; [email protected]; [email protected];
>>> [email protected]; [email protected]; Simek, Michal
>>> <[email protected]>; git (AMD-Xilinx) <[email protected]>
>>> Subject: Re: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt
>>> to yaml
>>>
>>>
>>> On Wed, 07 Jun 2023 12:21:20 +0530, Piyush Mehta wrote:
>>>> Convert the binding to DT schema format. It also updates the
>>>> reset-controller description.
>>>>
>>>> Signed-off-by: Piyush Mehta <[email protected]>
>>>> ---
>>>> Note:
>>>> The 1/2 patch introduced a warning related to the dt binding check,
>>>> which was subsequently fixed in the 2/2 patch. This warning is a
>>>> conversion warning due to a dependency on firmware dt binding.
>>>>
>>>> Warning:
>>>> DTC_CHK
>>>> Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb
>>>>
>>> /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/reset/xln
>>> x,zynqmp-reset.example.dtb: zynqmp-firmware: 'reset-controller' does not
>>> match any of the regexes: 'pinctrl-[0-9]+'
>>>> From schema:
>>>> /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/firm
>>>> ware/xilinx/xlnx,zynqmp-firmware.yaml
>>>>
>>>> Please suggest to me, if it's fine to make a single patch instead of
>>>> the separate patch 1/2 and 2/2.
>>>> ---
>>>> .../bindings/reset/xlnx,zynqmp-reset.txt | 55 ---------------
>>>> .../bindings/reset/xlnx,zynqmp-reset.yaml | 67 +++++++++++++++++++
>>>> 2 files changed, 67 insertions(+), 55 deletions(-) delete mode
>>>> 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
>>>> create mode 100644
>>>> Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
>>>>
>>>
>>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>>
>>> yamllint warnings/errors:
>>>
>>> dtschema/dtc warnings/errors:
>>> /builds/robherring/dt-review-
>>> ci/linux/Documentation/devicetree/bindings/reset/xlnx,zynqmp-
>>> reset.example.dtb: zynqmp-firmware: 'reset-controller' does not match any of
>>> the regexes: 'pinctrl-[0-9]+'
>>> From schema: /builds/robherring/dt-review-
>>> ci/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-
>>> firmware.yaml
>>>
>>> doc reference errors (make refcheckdocs):
>>>
>>> See https://patchwork.ozlabs.org/project/devicetree-
>>> bindings/patch/[email protected]
>>>
>>> The base for the series is generally the latest rc1. A different dependency
>>> should be noted in *this* patch.
>>>
>>> If you already ran 'make dt_binding_check' and didn't see the above error(s),
>>> then make sure 'yamllint' is installed and dt-schema is up to
>>> date:
>>>
>>> pip3 install dtschema --upgrade
>>>
>>> Please check and re-submit after running the above command yourself. Note
>>> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
>>> your schema. However, it must be unset to test all examples with your schema.
>>
>> This dt_binding warning is known to us and is captured in commit description notes and to resolve it, we need to apply 2/2.
>
> So your patchset has broken bisectability. You need to fix it. If the
> warning was known, then I am surprised that you sent broken patchset.

The first patch is conversion from txt yaml without any additional changes
because in past we heart that we shouldn't really do other things in it. That's
why 2 patches where made. No really issue to squashed them together.

Thanks,
Michal

2023-06-08 12:24:02

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt to yaml

On 08/06/2023 13:34, Michal Simek wrote:
>
>
> On 6/8/23 13:29, Krzysztof Kozlowski wrote:
>> On 08/06/2023 12:55, Mehta, Piyush wrote:
>>> Hello,
>>>
>>>> -----Original Message-----
>>>> From: Rob Herring <[email protected]>
>>>> Sent: Wednesday, June 7, 2023 1:06 PM
>>>> To: Mehta, Piyush <[email protected]>
>>>> Cc: [email protected]; Paladugu, Siva Durga Prasad
>>>> <[email protected]>; [email protected];
>>>> [email protected]; [email protected]; linux-
>>>> [email protected]; [email protected]; [email protected];
>>>> [email protected]; [email protected]; Simek, Michal
>>>> <[email protected]>; git (AMD-Xilinx) <[email protected]>
>>>> Subject: Re: [PATCH 1/2] dt-bindings: reset: convert the xlnx,zynqmp-reset.txt
>>>> to yaml
>>>>
>>>>
>>>> On Wed, 07 Jun 2023 12:21:20 +0530, Piyush Mehta wrote:
>>>>> Convert the binding to DT schema format. It also updates the
>>>>> reset-controller description.
>>>>>
>>>>> Signed-off-by: Piyush Mehta <[email protected]>
>>>>> ---
>>>>> Note:
>>>>> The 1/2 patch introduced a warning related to the dt binding check,
>>>>> which was subsequently fixed in the 2/2 patch. This warning is a
>>>>> conversion warning due to a dependency on firmware dt binding.
>>>>>
>>>>> Warning:
>>>>> DTC_CHK
>>>>> Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.example.dtb
>>>>>
>>>> /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/reset/xln
>>>> x,zynqmp-reset.example.dtb: zynqmp-firmware: 'reset-controller' does not
>>>> match any of the regexes: 'pinctrl-[0-9]+'
>>>>> From schema:
>>>>> /scratch/piyushm/torvalds/linux/Documentation/devicetree/bindings/firm
>>>>> ware/xilinx/xlnx,zynqmp-firmware.yaml
>>>>>
>>>>> Please suggest to me, if it's fine to make a single patch instead of
>>>>> the separate patch 1/2 and 2/2.
>>>>> ---
>>>>> .../bindings/reset/xlnx,zynqmp-reset.txt | 55 ---------------
>>>>> .../bindings/reset/xlnx,zynqmp-reset.yaml | 67 +++++++++++++++++++
>>>>> 2 files changed, 67 insertions(+), 55 deletions(-) delete mode
>>>>> 100644 Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
>>>>> create mode 100644
>>>>> Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
>>>>>
>>>>
>>>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>>>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>>>
>>>> yamllint warnings/errors:
>>>>
>>>> dtschema/dtc warnings/errors:
>>>> /builds/robherring/dt-review-
>>>> ci/linux/Documentation/devicetree/bindings/reset/xlnx,zynqmp-
>>>> reset.example.dtb: zynqmp-firmware: 'reset-controller' does not match any of
>>>> the regexes: 'pinctrl-[0-9]+'
>>>> From schema: /builds/robherring/dt-review-
>>>> ci/linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-
>>>> firmware.yaml
>>>>
>>>> doc reference errors (make refcheckdocs):
>>>>
>>>> See https://patchwork.ozlabs.org/project/devicetree-
>>>> bindings/patch/[email protected]
>>>>
>>>> The base for the series is generally the latest rc1. A different dependency
>>>> should be noted in *this* patch.
>>>>
>>>> If you already ran 'make dt_binding_check' and didn't see the above error(s),
>>>> then make sure 'yamllint' is installed and dt-schema is up to
>>>> date:
>>>>
>>>> pip3 install dtschema --upgrade
>>>>
>>>> Please check and re-submit after running the above command yourself. Note
>>>> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
>>>> your schema. However, it must be unset to test all examples with your schema.
>>>
>>> This dt_binding warning is known to us and is captured in commit description notes and to resolve it, we need to apply 2/2.
>>
>> So your patchset has broken bisectability. You need to fix it. If the
>> warning was known, then I am surprised that you sent broken patchset.
>
> The first patch is conversion from txt yaml without any additional changes
> because in past we heart that we shouldn't really do other things in it. That's
> why 2 patches where made. No really issue to squashed them together.

We always shared feedback that conversion should do only conversion, but
a correct one. Conversion cannot introduce errors or warnings in the
bindings. It can introduce warnings in DTS, but not in the bindings.
This was also communicated several times.

If pure-conversion results in non-bisectable patchset then:
1. either conversion should come with changes,
2. or conversion is done a bit wrong or could be done differently like
here. You really do not need unrelated pieces of DTS in reset controller
code. Drop them.

Best regards,
Krzysztof