1
0
Fork 0
mirror of https://git.openwrt.org/openwrt/openwrt.git synced 2024-06-09 08:16:26 +02:00
openwrt/target/linux/bcm27xx/patches-5.10/950-0184-staging-vchiq_arm-...
Álvaro Fernández Rojas 8299d1f057 bcm27xx: add kernel 5.10 support
Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted
patches, wireless patches and defconfig patches.

bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 4B v1.1 4G
bcm2711: boot tested on RPi 4B v1.1 4G

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-08-21 19:07:07 +02:00

40 lines
1.4 KiB
Diff

From 3e21610821310bfc015bbc8494e0e1f357e5a49e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Mon, 3 Feb 2020 17:30:46 +0000
Subject: [PATCH] staging: vchiq_arm: Give vchiq children DT nodes
vchiq kernel clients are now instantiated as platform drivers rather
than using DT, but the children of the vchiq interface may still
benefit from access to DT properties. Give them the option of a
a sub-node of the vchiq parent for configuration and to allow
them to be disabled.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
.../staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 8 ++++++++
1 file changed, 8 insertions(+)
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
@@ -2705,12 +2705,20 @@ vchiq_register_child(struct platform_dev
pdevinfo.id = PLATFORM_DEVID_NONE;
pdevinfo.dma_mask = DMA_BIT_MASK(32);
+ np = of_get_child_by_name(pdev->dev.of_node, name);
+
+ /* Skip the child if it is explicitly disabled */
+ if (np && !of_device_is_available(np))
+ return NULL;
+
child = platform_device_register_full(&pdevinfo);
if (IS_ERR(child)) {
dev_warn(&pdev->dev, "%s not registered\n", name);
child = NULL;
}
+ child->dev.of_node = np;
+
/*
* We want the dma-ranges etc to be copied from a device with the
* correct dma-ranges for the VPU.