drivers/gpu/drm/bridge/aux-bridge.c | 1 + 1 file changed, 1 insertion(+)
There are some cases where sharing the of_node renders different resources
providers confused about the same resource being shared by two different
devices. Avoid that by marking the of_node as reused since the aux bridge
device is reusing the parent of_node.
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
---
drivers/gpu/drm/bridge/aux-bridge.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/bridge/aux-bridge.c b/drivers/gpu/drm/bridge/aux-bridge.c
index b29980f95379ec7af873ed6e0fb79a9abb663c7b..ec3299ae49d6abdb75ee98acfe0682f1acc459f8 100644
--- a/drivers/gpu/drm/bridge/aux-bridge.c
+++ b/drivers/gpu/drm/bridge/aux-bridge.c
@@ -60,6 +60,7 @@ int drm_aux_bridge_register(struct device *parent)
adev->dev.parent = parent;
adev->dev.of_node = of_node_get(parent->of_node);
adev->dev.release = drm_aux_bridge_release;
+ adev->dev.of_node_reused = true;
ret = auxiliary_device_init(adev);
if (ret) {
---
base-commit: d61a00525464bfc5fe92c6ad713350988e492b88
change-id: 20241017-drm-aux-bridge-mark-of-node-reused-5c2ee740ff19
Best regards,
--
Abel Vesa <abel.vesa@linaro.org>
On Thu, Oct 17, 2024 at 06:35:26PM +0300, Abel Vesa wrote: > There are some cases where sharing the of_node renders different resources > providers confused about the same resource being shared by two different > devices. Can you be more specific about what type of issue you are trying to avoid here? Is it due to pinctrl for example? > Avoid that by marking the of_node as reused since the aux bridge > device is reusing the parent of_node. > > Signed-off-by: Abel Vesa <abel.vesa@linaro.org> > --- > drivers/gpu/drm/bridge/aux-bridge.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/bridge/aux-bridge.c b/drivers/gpu/drm/bridge/aux-bridge.c > index b29980f95379ec7af873ed6e0fb79a9abb663c7b..ec3299ae49d6abdb75ee98acfe0682f1acc459f8 100644 > --- a/drivers/gpu/drm/bridge/aux-bridge.c > +++ b/drivers/gpu/drm/bridge/aux-bridge.c > @@ -60,6 +60,7 @@ int drm_aux_bridge_register(struct device *parent) > adev->dev.parent = parent; > adev->dev.of_node = of_node_get(parent->of_node); > adev->dev.release = drm_aux_bridge_release; > + adev->dev.of_node_reused = true; Please use the intended device_set_of_node_from_dev() helper for this. > ret = auxiliary_device_init(adev); > if (ret) { Johan
© 2016 - 2024 Red Hat, Inc.