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 d810529ebfb6e8764bad1d1a705bf09b52dec8ff..ec7eac6b595f7eeee0151c524a3998321c7e3ab9 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);