[PATCH] drm/bridge: aux-hpd-bridge: fix assignment of the of_node
Neil Armstrong
neil.armstrong at linaro.org
Mon Jun 23 12:31:19 UTC 2025
On 08/06/2025 17:52, Dmitry Baryshkov wrote:
> Perform fix similar to the one in the commit 85e444a68126 ("drm/bridge:
> Fix assignment of the of_node of the parent to aux bridge").
>
> The assignment of the of_node to the aux HPD bridge needs to mark the
> of_node as reused, otherwise driver core will attempt to bind resources
> like pinctrl, which is going to fail as corresponding pins are already
> marked as used by the parent device.
> Fix that by using the device_set_of_node_from_dev() helper instead of
> assigning it directly.
>
> Fixes: e560518a6c2e ("drm/bridge: implement generic DP HPD bridge")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at oss.qualcomm.com>
> ---
> drivers/gpu/drm/bridge/aux-hpd-bridge.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/aux-hpd-bridge.c b/drivers/gpu/drm/bridge/aux-hpd-bridge.c
> index b3f588b71a7d7ad5c2ee7b07c39079bc5ba34cee..af6f79793407f400b57f945fc958d613155417ea 100644
> --- a/drivers/gpu/drm/bridge/aux-hpd-bridge.c
> +++ b/drivers/gpu/drm/bridge/aux-hpd-bridge.c
> @@ -64,10 +64,11 @@ struct auxiliary_device *devm_drm_dp_hpd_bridge_alloc(struct device *parent, str
> adev->id = ret;
> adev->name = "dp_hpd_bridge";
> adev->dev.parent = parent;
> - adev->dev.of_node = of_node_get(parent->of_node);
> adev->dev.release = drm_aux_hpd_bridge_release;
> adev->dev.platform_data = of_node_get(np);
>
> + device_set_of_node_from_dev(&adev->dev, parent);
> +
> ret = auxiliary_device_init(adev);
> if (ret) {
> of_node_put(adev->dev.platform_data);
>
> ---
> base-commit: 4f27f06ec12190c7c62c722e99ab6243dea81a94
> change-id: 20250608-fix-aud-hpd-bridge-97ec55341c4c
>
> Best regards,
Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>
More information about the dri-devel
mailing list