MLK-16137 video: fbdev: add defer probe for mxs framebuffer
authorOliver Brown <oliver.brown@nxp.com>
Fri, 4 Aug 2017 06:31:35 +0000 (14:31 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:36:17 +0000 (15:36 -0500)
When mxs framebuffer probes, the DISPDRV (here is MIPI DSI driver) is likely
not ready, then mxsfb_dispdrv_init() will fail which in turn causes framebuffer
dirver probe fails. Add the defer probe schema for second probe later to fix it.

Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Fancy Fang <chen.fang@nxp.com>
drivers/video/fbdev/mxsfb.c

index b5e7ae7..0ec3c03 100644 (file)
@@ -1493,14 +1493,9 @@ static int mxsfb_dispdrv_init(struct platform_device *pdev,
 
        kfree(setting.dft_mode_str);
 
-       if (IS_ERR(host->dispdrv)) {
-               if (PTR_ERR(host->dispdrv) == -EPROBE_DEFER)
-                       return PTR_ERR(host->dispdrv);
-
-               host->dispdrv = NULL;
-               dev_info(dev, "failed to find mxc display driver %s\n",
-                        disp_dev);
-       } else
+       if (IS_ERR(host->dispdrv))
+               return -EPROBE_DEFER;
+       else
                dev_info(dev, "registered mxc display driver %s\n",
                         disp_dev);