diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0422-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0422-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0422-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch b/target/linux/bcm27xx/patches-5.4/950-0422-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch new file mode 100644 index 0000000000..7fb3443fa9 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0422-staging-vchiq_arm-Give-vchiq-children-DT-nodes.patch @@ -0,0 +1,39 @@ +From 9f93264df7a631132f2dacd150d0cc6cb7d20fc4 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 +@@ -3190,12 +3190,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. |