.../devicetree/bindings/interrupt-controller/arm,gic-v3.yaml | 2 -- 1 file changed, 2 deletions(-)
Drop the redundant 'false' patterns so that allowed names
('msi-controller', 'gic-its', and 'interrupt-controller') work as intended
GICv3 binding currently disallows child nodes named 'gic-its@' and
'interrupt-controller@' via patternProperties set to 'false'. However,
these names are already permitted (though not preferred) by a subsequent
pattern that applies the correct schema.
Since the 'false' patterns take precedence, valid nodes such as
'gic-its@<addr>' and 'interrupt-controller@<addr>' fail dtbs_check with
"False schema does not allow" errors
Signed-off-by: Pankaj Patil <pankaj.patil@oss.qualcomm.com>
---
.../devicetree/bindings/interrupt-controller/arm,gic-v3.yaml | 2 --
1 file changed, 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml b/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml
index bfd30aae682b..462305f8047d 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml
@@ -186,8 +186,6 @@ required:
- reg
patternProperties:
- "^gic-its@": false
- "^interrupt-controller@[0-9a-f]+$": false
# msi-controller is preferred, but allow other names
"^(msi-controller|gic-its|interrupt-controller)@[0-9a-f]+$":
type: object
--
2.34.1
On Wed, Dec 31, 2025 at 05:00:26PM +0530, Pankaj Patil wrote:
> Drop the redundant 'false' patterns so that allowed names
> ('msi-controller', 'gic-its', and 'interrupt-controller') work as intended
>
> GICv3 binding currently disallows child nodes named 'gic-its@' and
> 'interrupt-controller@' via patternProperties set to 'false'. However,
> these names are already permitted (though not preferred) by a subsequent
> pattern that applies the correct schema.
>
> Since the 'false' patterns take precedence, valid nodes such as
> 'gic-its@<addr>' and 'interrupt-controller@<addr>' fail dtbs_check with
> "False schema does not allow" errors
The reason it is done this way is so that we both check the child nodes
and warn on deprecated names.
Fix your .dts files ITS node name to be "msi-controller".
If the node names are fixed everywhere now, then we could just change
this to "^msi-controller@[0-9a-f]+$".
Rob
On 1/3/2026 3:17 AM, Rob Herring wrote:
> On Wed, Dec 31, 2025 at 05:00:26PM +0530, Pankaj Patil wrote:
>> Drop the redundant 'false' patterns so that allowed names
>> ('msi-controller', 'gic-its', and 'interrupt-controller') work as intended
>>
>> GICv3 binding currently disallows child nodes named 'gic-its@' and
>> 'interrupt-controller@' via patternProperties set to 'false'. However,
>> these names are already permitted (though not preferred) by a subsequent
>> pattern that applies the correct schema.
>>
>> Since the 'false' patterns take precedence, valid nodes such as
>> 'gic-its@<addr>' and 'interrupt-controller@<addr>' fail dtbs_check with
>> "False schema does not allow" errors
> The reason it is done this way is so that we both check the child nodes
> and warn on deprecated names.
>
> Fix your .dts files ITS node name to be "msi-controller".
>
> If the node names are fixed everywhere now, then we could just change
> this to "^msi-controller@[0-9a-f]+$".
>
> Rob
Sure, Will rename to "msi-controller" in .dtsi
© 2016 - 2026 Red Hat, Inc.