Re: [PATCH] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema

[email protected]
Newsgroups dev.linux.lists.mfd,org.kernel.vger.linux-devicetree
Message-ID <[email protected]>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] The schema enforces non-compliant, legacy device tree node names (containing underscores) for child nodes via `patternProperties`, blocking the use of standard generic names and contradicting the commit message.
- [Low] The YAML example references undefined phandles (`&devctrl` and `&pllctrl`), which will cause a fatal `dtc` compilation error during `make dt_binding_check`.
--

--- Patch [1]: [PATCH] dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema ---
commit f59b6bface010fc243ef7f899dbb8dddf737e2c5
Author: Bhargav Joshi <[email protected]>

dt-bindings: mfd: ti,keystone-devctrl: Convert to DT schema
    
Converts the Texas Instruments Keystone Device State Control binding from
legacy text format to DT schema. Adds "simple-mfd" support, enforces child
bus properties, and adds validations for standard child nodes.

> diff --git a/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml b/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml
> new file mode 100644
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ti,keystone-devctrl.yaml
[ ... ]
> +patternProperties:
> +  "^keystone_dsp_gpio@[0-9a-f]+$":
> +    type: object
> +    description: Keystone DSP GPIO controller
> +
> +  "^keystone_irq@[0-9a-f]+$":
> +    type: object
> +    description: Keystone DSP to ARM interrupt controller

[Severity: Medium]
The commit message mentions updating node names to conform with standard
Devicetree specifications. However, these patternProperties enforce names
with underscores like "keystone_dsp_gpio" and "keystone_irq". 

Does this block the use of standard generic names (like "gpio" or
"interrupt-controller")? Because additionalProperties is false, using generic
names in a DTS file would cause validation errors. Could these patterns be
updated to match generic names instead?

[ ... ]
> +examples:
[ ... ]
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    device-state-control@2620000 {
> +        compatible = "ti,keystone-devctrl", "syscon", "simple-mfd";
> +        reg = <0x02620000 0x1000>;
> +        #address-cells = <1>;
> +        #size-cells = <1>;
> +        ranges = <0x0 0x02620000 0x1000>;
> +
> +        keystone_irq@2a0 {
> +            compatible = "ti,keystone-irq";
> +            reg = <0x2a0 0x4>;
> +            interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
> +            interrupt-controller;
> +            #interrupt-cells = <1>;
> +            ti,syscon-dev = <&devctrl 0x2a0>;
> +        };
> +
> +        reset-controller@328 {
> +            compatible = "ti,keystone-reset";
> +            reg = <0x328 0x10>;
> +            ti,syscon-pll = <&pllctrl 0xe4>;
> +            ti,syscon-dev = <&devctrl 0x328>;
> +            ti,wdt-list = <0>;
> +        };
> +    };

[Severity: Low]
The example uses phandles for &devctrl and &pllctrl, but it appears these
labels are not defined in the example block. 

Won't this cause a fatal dtc compilation error during make dt_binding_check? 
Could we define these labels on the parent node or a dummy node in the 
example so that the build succeeds?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.