On 05/05/2020 19:25, Marc Zyngier wrote: > On Tue, 05 May 2020 17:52:03 +0100, > Andre Przywara <andre.przywara@xxxxxxx> wrote: >> >> The GIC DT binding only allows a certain combination of DT compatible >> strings, mostly just consisting of one name. >> >> Drop the combination of multiple names and go with the >> "arm,cortex-a15-gic" name for GICv2, as this seems to be the most widely >> accepted string. "arm,gic-400" would be more correct, but was introduced >> much later into the kernel's GIC driver. >> >> Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> >> --- >> arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi | 2 +- >> arch/arm64/boot/dts/arm/juno-base.dtsi | 2 +- >> arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts | 2 +- >> 3 files changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi b/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi >> index 15fe81738e94..61a1750fcdd6 100644 >> --- a/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi >> +++ b/arch/arm64/boot/dts/arm/foundation-v8-gicv2.dtsi >> @@ -6,7 +6,7 @@ >> >> / { >> gic: interrupt-controller@2c001000 { >> - compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; >> + compatible = "arm,cortex-a15-gic"; >> #interrupt-cells = <3>; >> #address-cells = <2>; >> interrupt-controller; >> diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi >> index 3feefd61eb76..62392ab1f880 100644 >> --- a/arch/arm64/boot/dts/arm/juno-base.dtsi >> +++ b/arch/arm64/boot/dts/arm/juno-base.dtsi >> @@ -69,7 +69,7 @@ >> }; >> >> gic: interrupt-controller@2c010000 { >> - compatible = "arm,gic-400", "arm,cortex-a15-gic"; >> + compatible = "arm,cortex-a15-gic"; > > Why? GIC-400 is definitely the most correct compatible string. I'd > rather see this compatible being generalised to the models rather than > only referencing the A15 GIC. I agree that gic-400 is the far better name, but it was only introduced in v3.16. So omitting arm,cortex-a15-gic would break any kernels before that, which I would like to avoid. It's actually a pity that we are so picky about the compatible listings, because the existing combination is actually quite nice: we get compatibility with older DT consumers, but still can say what it actually is. I wonder if I should introduce this combination to the GIC DT binding instead, it seems like there are other users in the tree as well. What do you think? Cheers, Andre > >> reg = <0x0 0x2c010000 0 0x1000>, >> <0x0 0x2c02f000 0 0x2000>, >> <0x0 0x2c04f000 0 0x2000>, >> diff --git a/arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts b/arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts >> index c5d15cbd8cf6..f86f6451411f 100644 >> --- a/arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts >> +++ b/arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts >> @@ -95,7 +95,7 @@ >> }; >> >> gic: interrupt-controller@2c001000 { >> - compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; >> + compatible = "arm,cortex-a15-gic"; >> #interrupt-cells = <3>; >> #address-cells = <0>; >> interrupt-controller; >> -- >> 2.17.1 >> >> > > Thanks, > > M. >