On 24/03/2022 18:26, Adrien Thierry wrote: > Use bcm2711 compatible string in vchiq driver and device tree for > bcm2711-based Raspberry Pi (Raspberry Pi 4). This is consistent with > what the downstream device tree uses, and allows running the vchiq > driver on the upstream kernel with the downstream device tree. > > Signed-off-by: Adrien Thierry <athierry@xxxxxxxxxx> > --- > arch/arm/boot/dts/bcm2711-rpi.dtsi | 1 + DTS is always separate, independent of device drivers. If you mix them, it's usually a sign of ABI breakage or compatibility issues, so don't mix them. > .../staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 5 +++++ > 2 files changed, 6 insertions(+) > > diff --git a/arch/arm/boot/dts/bcm2711-rpi.dtsi b/arch/arm/boot/dts/bcm2711-rpi.dtsi > index ca266c5d9f9b..c868d1dcaba7 100644 > --- a/arch/arm/boot/dts/bcm2711-rpi.dtsi > +++ b/arch/arm/boot/dts/bcm2711-rpi.dtsi > @@ -70,5 +70,6 @@ blconfig: nvram@0 { > }; > > &vchiq { > + compatible = "brcm,bcm2711-vchiq"; This looks weird. Is BCM2711 on Raspberry Pi 4 different than other BCM2711? Commit msg also does not explain this. > interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; > }; > diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > index 3a2e4582db8e..136c664132f4 100644 > --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c > @@ -81,6 +81,10 @@ static struct vchiq_drvdata bcm2836_drvdata = { > .cache_line_size = 64, > }; > > +static struct vchiq_drvdata bcm2711_drvdata = { > + .cache_line_size = 64, > +}; > + > struct vchiq_arm_state { > /* Keepalive-related data */ > struct task_struct *ka_thread; > @@ -1748,6 +1752,7 @@ void vchiq_platform_conn_state_changed(struct vchiq_state *state, > static const struct of_device_id vchiq_of_match[] = { > { .compatible = "brcm,bcm2835-vchiq", .data = &bcm2835_drvdata }, > { .compatible = "brcm,bcm2836-vchiq", .data = &bcm2836_drvdata }, > + { .compatible = "brcm,bcm2711-vchiq", .data = &bcm2711_drvdata }, Just re-use bcm2836_drvdata instead of duplicating it. > {}, > }; > MODULE_DEVICE_TABLE(of, vchiq_of_match); Best regards, Krzysztof