On 19/05/2020 08:39, Geert Uytterhoeven wrote: Hi Geert, > On Wed, May 13, 2020 at 12:31 PM Andre Przywara <andre.przywara@xxxxxxx> wrote: >> The arm,gic-400 compatible is probably the best matching string for the >> GIC in most modern SoCs, but was only introduced later into the kernel. >> For historic reasons and to keep compatibility, some SoC DTs were thus >> using a combination of this name and one of the older strings, which >> currently the binding denies. >> >> Add a stanza to the DT binding to allow "arm,gic-400", followed by >> either "arm,cortex-a15-gic" or "arm,cortex-a7-gic". This fixes binding >> compliance for quite some SoC .dtsi files in the kernel tree. >> >> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> > > Thanks for your patch, I was just looking into this issue ;-) > >> --- a/Documentation/devicetree/bindings/interrupt-controller/arm,gic.yaml >> +++ b/Documentation/devicetree/bindings/interrupt-controller/arm,gic.yaml >> @@ -39,6 +39,12 @@ properties: >> - qcom,msm-8660-qgic >> - qcom,msm-qgic2 >> >> + - items: >> + - const: arm,gic-400 >> + - enum: >> + - arm,cortex-a15-gic >> + - arm,cortex-a7-gic >> + >> - items: >> - const: arm,arm1176jzf-devchip-gic >> - const: arm,arm11mp-gic > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/r9a06g032.dtsi#n177 > has them in the other order. > > What do you think is the preferred solution: reverting the order, or dropping > one or the other? Reverting the order would be the right thing. Theoretically this might change what the drivers match against, but there should be no difference between those strings anyway. And certainly Linux does not care which of the many strings it sees. The proper order is not really obvious here, but the cortex-a{15,7}-gic names serve as the missing "arm,gic-v2" generic fallback string here, I think just for historical reasons. Cheers, Andre.