You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
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.
|