drm: display: Set fwnode for aux bus devices
authorSaravana Kannan <saravanak@google.com>
Thu, 24 Oct 2024 06:13:42 +0000 (23:13 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 5 Nov 2024 13:03:27 +0000 (14:03 +0100)
fwnode needs to be set for a device for fw_devlink to be able to
track/enforce its dependencies correctly. Without this, you'll see error
messages like this when the supplier has probed and tries to make sure
all its fwnode consumers are linked to it using device links:

mediatek-drm-dp 1c500000.edp-tx: Failed to create device link (0x180) with backlight-lcd0

Reported-by: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
Closes: https://lore.kernel.org/all/7b995947-4540-4b17-872e-e107adca4598@notapiano/
Tested-by: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
Signed-off-by: Saravana Kannan <saravanak@google.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20241024061347.1771063-2-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/display/drm_dp_aux_bus.c

index d810529..ec7eac6 100644 (file)
@@ -292,7 +292,7 @@ int of_dp_aux_populate_bus(struct drm_dp_aux *aux,
        aux_ep->dev.parent = aux->dev;
        aux_ep->dev.bus = &dp_aux_bus_type;
        aux_ep->dev.type = &dp_aux_device_type_type;
-       aux_ep->dev.of_node = of_node_get(np);
+       device_set_node(&aux_ep->dev, of_fwnode_handle(of_node_get(np)));
        dev_set_name(&aux_ep->dev, "aux-%s", dev_name(aux->dev));
 
        ret = device_register(&aux_ep->dev);