drm/msm: Don't fail bind if nothing connected to dsi
authorSean Paul <seanpaul@chromium.org>
Mon, 30 Jul 2018 15:26:55 +0000 (11:26 -0400)
committerRob Clark <robdclark@gmail.com>
Thu, 4 Oct 2018 00:24:50 +0000 (20:24 -0400)
If there is no bridge or panel connected to a dsi node, don't fail the
entire msm bind. Just ignore the dsi block and move on.

Cc: Doug Anderson <dianders@chromium.org>
Reviewed-by: Abhinav Kumar <abhinavk@codeaurora.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/dsi/dsi.c

index ee07d58c2d9791acf4a36c5ea35d31751082af1c..a9768f823290bd1037c90a49ccb97273cb46a9a5 100644 (file)
@@ -118,8 +118,13 @@ static int dsi_bind(struct device *dev, struct device *master, void *data)
 
        DBG("");
        msm_dsi = dsi_init(pdev);
-       if (IS_ERR(msm_dsi))
-               return PTR_ERR(msm_dsi);
+       if (IS_ERR(msm_dsi)) {
+               /* Don't fail the bind if the dsi port is not connected */
+               if (PTR_ERR(msm_dsi) == -ENODEV)
+                       return 0;
+               else
+                       return PTR_ERR(msm_dsi);
+       }
 
        priv->dsi[msm_dsi->id] = msm_dsi;