Hi Damon, Am Donnerstag, 23. Januar 2025, 11:07:41 MEZ schrieb Damon Ding: > Move drm_of_find_panel_or_bridge() a little later and combine it with > component_add() into a new function rockchip_dp_link_panel(). The function > will serve as done_probing() callback of devm_of_dp_aux_populate_bus(), > aiding to support for obtaining the eDP panel via the DP AUX bus. > > If failed to get the panel from the DP AUX bus, it will then try the other > way to get panel information through the platform bus. > > Signed-off-by: Damon Ding <damon.ding@xxxxxxxxxxxxxx> > > --- > @@ -450,9 +461,17 @@ static int rockchip_dp_probe(struct platform_device *pdev) > if (IS_ERR(dp->adp)) > return PTR_ERR(dp->adp); > > - ret = component_add(dev, &rockchip_dp_component_ops); > - if (ret) > - return ret; > + ret = devm_of_dp_aux_populate_bus(analogix_dp_get_aux(dp->adp), rockchip_dp_link_panel); This causes an undefined-reference error, so you probably need something like: diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig index f9cbbb40b36f..fa946a809858 100644 --- a/drivers/gpu/drm/rockchip/Kconfig +++ b/drivers/gpu/drm/rockchip/Kconfig @@ -8,6 +8,7 @@ config DRM_ROCKCHIP select DRM_PANEL select VIDEOMODE_HELPERS select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP + select DRM_DISPLAY_DP_AUX_BUS if ROCKCHIP_ANALOGIX_DP select DRM_DW_HDMI if ROCKCHIP_DW_HDMI select DRM_DW_HDMI_QP if ROCKCHIP_DW_HDMI_QP select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI