On Mon, 8 Jan 2024 at 19:57, Carl Vanderlip <quic_carlv@xxxxxxxxxxx> wrote: > > > > On 1/5/2024 4:38 PM, Dmitry Baryshkov wrote: > > On Sat, 6 Jan 2024 at 02:04, Carl Vanderlip <quic_carlv@xxxxxxxxxxx> wrote: > >> > >> > >> On 1/5/2024 3:34 PM, Dmitry Baryshkov wrote: > >>> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > >>> index 50b65ffc24b1..ef57586fbeca 100644 > >>> --- a/drivers/gpu/drm/msm/msm_drv.c > >>> +++ b/drivers/gpu/drm/msm/msm_drv.c > >>> @@ -969,6 +969,37 @@ static int add_components_mdp(struct device *master_dev, > >>> return 0; > >>> } > >>> > >>> +#if !IS_REACHABLE(CONFIG_DRM_MSM_MDP5) || !IS_REACHABLE(CONFIG_DRM_MSM_DPU) > >>> +bool msm_disp_drv_should_bind(struct device *dev, bool mdp5_driver) > >>> +{ > >>> + /* If just a single driver is enabled, use it no matter what */ > >>> + return true; > >>> +} > >> > >> This will cause both MDP/DPU probes to return -ENODEV, rather than > >> select the enabled one. > > > > No. The code (e.g. for DPU) is: > > > > if (!msm_disp_drv_should_bind(&pdev->dev, true)) > > return -ENODEV; > > > > So the driver returns -ENODEV if msm_disp_drv_should_bind() returns > > false. Which is logical from the function name point of view. > > > > but msm_disp_drv_should_bind() is returning true in the #if !REACHABLE() > case? > > at minimum the comment is incorrect since returning true causes the > driver to NOT be used. No. Returning _false_ causes the driver to not be used. -- With best wishes Dmitry