make CHECK_DTBS=y st/stm32f469-disco.dtb
brings up a warning about a missing argument:
stm32f469-disco.dtb: pinctrl@40020000: st,syscfg:0: [21, 8] is too short
The description of the third entry indicates that this entry is optional.
The code in stm32_pctrl_dt_setup_irq parses st,syscfg and treats the third
entry as optional. It defaults to 0xf if not present in the devicetree.
Update the schema to require at least two entries, use the same syntax as
the description of renesas,ipmmu-main in
Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml.
Signed-off-by: Martin Kaiser <[email protected]>
---
I tested the following cases, all of them returned the expected result:
st,syscfg = <&syscfg>; (too short)
st,syscfg = <&syscfg 0x8>; (ok)
st,syscfg = <&syscfg 0x8 0x0>; (ok)
st,syscfg = <&syscfg 0x8 0x0 0x0>; (too long)
.../devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
index 2120ef71a78d..e1eb45a9eda4 100644
--- a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
+++ b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
@@ -48,7 +48,8 @@ properties:
description: Phandle+args to the syscon node which includes IRQ mux selection.
$ref: /schemas/types.yaml#/definitions/phandle-array
items:
- - items:
+ - minItems: 2
+ items:
- description: syscon node which includes IRQ mux selection
- description: The offset of the IRQ mux selection register
- description: The field mask of IRQ mux, needed if different of 0xf
--
2.39.2
On Fri, 06 Oct 2023 10:22:48 +0200, Martin Kaiser wrote:
> make CHECK_DTBS=y st/stm32f469-disco.dtb
>
> brings up a warning about a missing argument:
>
> stm32f469-disco.dtb: pinctrl@40020000: st,syscfg:0: [21, 8] is too short
>
> The description of the third entry indicates that this entry is optional.
> The code in stm32_pctrl_dt_setup_irq parses st,syscfg and treats the third
> entry as optional. It defaults to 0xf if not present in the devicetree.
>
> Update the schema to require at least two entries, use the same syntax as
> the description of renesas,ipmmu-main in
> Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml.
>
> Signed-off-by: Martin Kaiser <[email protected]>
> ---
>
> I tested the following cases, all of them returned the expected result:
>
> st,syscfg = <&syscfg>; (too short)
> st,syscfg = <&syscfg 0x8>; (ok)
> st,syscfg = <&syscfg 0x8 0x0>; (ok)
> st,syscfg = <&syscfg 0x8 0x0 0x0>; (too long)
>
> .../devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
Acked-by: Rob Herring <[email protected]>
On Fri, Oct 6, 2023 at 10:27 AM Martin Kaiser <[email protected]> wrote:
> make CHECK_DTBS=y st/stm32f469-disco.dtb
>
> brings up a warning about a missing argument:
>
> stm32f469-disco.dtb: pinctrl@40020000: st,syscfg:0: [21, 8] is too short
>
> The description of the third entry indicates that this entry is optional.
> The code in stm32_pctrl_dt_setup_irq parses st,syscfg and treats the third
> entry as optional. It defaults to 0xf if not present in the devicetree.
>
> Update the schema to require at least two entries, use the same syntax as
> the description of renesas,ipmmu-main in
> Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml.
>
> Signed-off-by: Martin Kaiser <[email protected]>
Patch applied!
Yours,
Linus Walleij