* [PATCH dt-schema] Fix interrupt controllers with interrupt-map @ 2020-05-28 13:23 Geert Uytterhoeven 2020-05-29 15:54 ` Rob Herring 2020-06-08 20:25 ` Rob Herring 0 siblings, 2 replies; 6+ messages in thread From: Geert Uytterhoeven @ 2020-05-28 13:23 UTC (permalink / raw) To: Rob Herring; +Cc: devicetree, Geert Uytterhoeven When an interrupt controller has an "interrupt-map" property, an "is valid under each of" error is triggered. Fix this by allowing "interrupt-controller" and "interrupt-map" to coexist, in both the interrrupts meta-schema and the interrupt-controller schema. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- meta-schemas/interrupts.yaml | 2 +- schemas/interrupt-controller.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-schemas/interrupts.yaml b/meta-schemas/interrupts.yaml index 7073063486d44dab..93d8e4cafca679d3 100644 --- a/meta-schemas/interrupts.yaml +++ b/meta-schemas/interrupts.yaml @@ -26,7 +26,7 @@ properties: dependencies: interrupt-map: ['#interrupt-cells', 'interrupt-map-mask'] '#interrupt-cells': - oneOf: + anyOf: - required: - interrupt-controller - required: diff --git a/schemas/interrupt-controller.yaml b/schemas/interrupt-controller.yaml index f65d5f6d2f1ac524..5dce87d839959489 100644 --- a/schemas/interrupt-controller.yaml +++ b/schemas/interrupt-controller.yaml @@ -30,7 +30,7 @@ dependencies: interrupt-controller: ['#interrupt-cells'] interrupt-map: ['#interrupt-cells', 'interrupt-map-mask'] "#interrupt-cells": - oneOf: + anyOf: - required: - interrupt-controller - required: -- 2.17.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH dt-schema] Fix interrupt controllers with interrupt-map 2020-05-28 13:23 [PATCH dt-schema] Fix interrupt controllers with interrupt-map Geert Uytterhoeven @ 2020-05-29 15:54 ` Rob Herring 2020-05-29 16:02 ` Geert Uytterhoeven 2020-06-08 20:25 ` Rob Herring 1 sibling, 1 reply; 6+ messages in thread From: Rob Herring @ 2020-05-29 15:54 UTC (permalink / raw) To: Geert Uytterhoeven; +Cc: devicetree On Thu, May 28, 2020 at 7:23 AM Geert Uytterhoeven <geert+renesas@glider.be> wrote: > > When an interrupt controller has an "interrupt-map" property, an "is > valid under each of" error is triggered. > > Fix this by allowing "interrupt-controller" and "interrupt-map" to > coexist, in both the interrrupts meta-schema and the > interrupt-controller schema. But both should not be present. If 'interrupt-controller' is present, the Linux irq parsing code will ignore 'interrupt-map'. Seems like that's backwards, but this parsing code is older than dirt and we'd probably break some 1990s machine changing it. Rob ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH dt-schema] Fix interrupt controllers with interrupt-map 2020-05-29 15:54 ` Rob Herring @ 2020-05-29 16:02 ` Geert Uytterhoeven 2020-05-29 21:44 ` Rob Herring 0 siblings, 1 reply; 6+ messages in thread From: Geert Uytterhoeven @ 2020-05-29 16:02 UTC (permalink / raw) To: Rob Herring; +Cc: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS Hi Rob, On Fri, May 29, 2020 at 5:54 PM Rob Herring <robh+dt@kernel.org> wrote: > On Thu, May 28, 2020 at 7:23 AM Geert Uytterhoeven > <geert+renesas@glider.be> wrote: > > When an interrupt controller has an "interrupt-map" property, an "is > > valid under each of" error is triggered. > > > > Fix this by allowing "interrupt-controller" and "interrupt-map" to > > coexist, in both the interrrupts meta-schema and the > > interrupt-controller schema. > > But both should not be present. If 'interrupt-controller' is present, Why not? > the Linux irq parsing code will ignore 'interrupt-map'. Seems like > that's backwards, but this parsing code is older than dirt and we'd > probably break some 1990s machine changing it. That's fine. rza1_irqc_parse_map() parses the interrupt-map itself, to map from downstream to upstream interrupts. Cfr. the original bindings at https://lore.kernel.org/linux-devicetree/20190502123220.3016-2-geert+renesas@glider.be/ Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH dt-schema] Fix interrupt controllers with interrupt-map 2020-05-29 16:02 ` Geert Uytterhoeven @ 2020-05-29 21:44 ` Rob Herring 2020-05-30 12:30 ` Geert Uytterhoeven 0 siblings, 1 reply; 6+ messages in thread From: Rob Herring @ 2020-05-29 21:44 UTC (permalink / raw) To: Geert Uytterhoeven Cc: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS On Fri, May 29, 2020 at 10:02 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Rob, > > On Fri, May 29, 2020 at 5:54 PM Rob Herring <robh+dt@kernel.org> wrote: > > On Thu, May 28, 2020 at 7:23 AM Geert Uytterhoeven > > <geert+renesas@glider.be> wrote: > > > When an interrupt controller has an "interrupt-map" property, an "is > > > valid under each of" error is triggered. > > > > > > Fix this by allowing "interrupt-controller" and "interrupt-map" to > > > coexist, in both the interrrupts meta-schema and the > > > interrupt-controller schema. > > > > But both should not be present. If 'interrupt-controller' is present, > > Why not? Well, maybe I'm wrong. If you have more than just transparent remapping (i.e. mask/unmask/clear), then perhaps both are appropriate because you want get the irq domain for the first irq parent. > > the Linux irq parsing code will ignore 'interrupt-map'. Seems like > > that's backwards, but this parsing code is older than dirt and we'd > > probably break some 1990s machine changing it. > > That's fine. rza1_irqc_parse_map() parses the interrupt-map itself, > to map from downstream to upstream interrupts. You shouldn't really be parsing interrupt-map yourself. The code there doesn't account for #address-cells which can be a factor for interrupt-map. dtc is gaining some checks for 'interrupt-map', so let's hope you have it right. Rob ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH dt-schema] Fix interrupt controllers with interrupt-map 2020-05-29 21:44 ` Rob Herring @ 2020-05-30 12:30 ` Geert Uytterhoeven 0 siblings, 0 replies; 6+ messages in thread From: Geert Uytterhoeven @ 2020-05-30 12:30 UTC (permalink / raw) To: Rob Herring Cc: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS, Rasmus Villemoes Hi Rob, Cc Rasmus On Fri, May 29, 2020 at 11:44 PM Rob Herring <robh+dt@kernel.org> wrote: > On Fri, May 29, 2020 at 10:02 AM Geert Uytterhoeven > <geert@linux-m68k.org> wrote: > > On Fri, May 29, 2020 at 5:54 PM Rob Herring <robh+dt@kernel.org> wrote: > > > On Thu, May 28, 2020 at 7:23 AM Geert Uytterhoeven > > > <geert+renesas@glider.be> wrote: > > > > When an interrupt controller has an "interrupt-map" property, an "is > > > > valid under each of" error is triggered. > > > > > > > > Fix this by allowing "interrupt-controller" and "interrupt-map" to > > > > coexist, in both the interrrupts meta-schema and the > > > > interrupt-controller schema. > > > > > > But both should not be present. If 'interrupt-controller' is present, > > > > Why not? > > Well, maybe I'm wrong. If you have more than just transparent > remapping (i.e. mask/unmask/clear), then perhaps both are appropriate > because you want get the irq domain for the first irq parent. Indeed, that's the case for rza1-irqc. > > > the Linux irq parsing code will ignore 'interrupt-map'. Seems like > > > that's backwards, but this parsing code is older than dirt and we'd > > > probably break some 1990s machine changing it. > > > > That's fine. rza1_irqc_parse_map() parses the interrupt-map itself, > > to map from downstream to upstream interrupts. > > You shouldn't really be parsing interrupt-map yourself. The code there Of course I had tried that before[1]; | I also considered extracting the parsing code in of_irq_parse_raw() in a | new public helper function: | | int of_irq_parse_map(struct device_node **ipar, u32 *addrsize, | u32 *intsize, const __be32 **match_array, | struct of_phandle_args *out_irq); | | However, that API is a bit ugly due to many output parameters | (of_irq_parse_raw() needs to iterate the interrupt hierarchy). | In addition, it's less efficient for irq-renesas-rza1.c, as the | interrupt-map must be parsed 8 times. Or is there a better way? In the mean time, drivers/irqchip/irq-ls-extirq.c has landed, which was mimiced after irq-renesas-rza1.c. > doesn't account for #address-cells which can be a factor for > interrupt-map. dtc is gaining some checks for 'interrupt-map', so > let's hope you have it right. The driver code indeed doesn't account for #address-cells, but the binding says it must be zero anyway. [1] "[PATCH v4 2/2] irqchip: Add Renesas RZ/A1 Interrupt Controller driver" http://lore.kernel.org/r/20190527121711.5138-3-geert+renesas@glider.be Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH dt-schema] Fix interrupt controllers with interrupt-map 2020-05-28 13:23 [PATCH dt-schema] Fix interrupt controllers with interrupt-map Geert Uytterhoeven 2020-05-29 15:54 ` Rob Herring @ 2020-06-08 20:25 ` Rob Herring 1 sibling, 0 replies; 6+ messages in thread From: Rob Herring @ 2020-06-08 20:25 UTC (permalink / raw) To: Geert Uytterhoeven; +Cc: devicetree On Thu, May 28, 2020 at 03:23:23PM +0200, Geert Uytterhoeven wrote: > When an interrupt controller has an "interrupt-map" property, an "is > valid under each of" error is triggered. > > Fix this by allowing "interrupt-controller" and "interrupt-map" to > coexist, in both the interrrupts meta-schema and the > interrupt-controller schema. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > meta-schemas/interrupts.yaml | 2 +- > schemas/interrupt-controller.yaml | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) Applied. I'll queue the schema up for 5.9. That will mean updating dt-schema is required, but that's generally been true frequently anyways. Rob ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-06-08 20:25 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-05-28 13:23 [PATCH dt-schema] Fix interrupt controllers with interrupt-map Geert Uytterhoeven 2020-05-29 15:54 ` Rob Herring 2020-05-29 16:02 ` Geert Uytterhoeven 2020-05-29 21:44 ` Rob Herring 2020-05-30 12:30 ` Geert Uytterhoeven 2020-06-08 20:25 ` Rob Herring
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).