OMAPFB: defer probe if no displays
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 26 Apr 2013 10:40:36 +0000 (13:40 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 2 May 2013 08:24:20 +0000 (11:24 +0300)
omapfb requires the panel drivers to have been probed when omapfb is
initialized. omapfb does not support insertion of new panels after its
probe. This causes a problem in case omapdss or the panel probes have
been deferred due to EPROBE_DEFER error, as omapfb won't find any
displays.

As a quick fix, this patch changes the omapfb probe so that if omapfb
does not find any displays, it'll return EPROBE_DEFER. This is not
perfect, as with a board with no displays, omapfb will get deferred
forever. Also, if the board has multiple displays, but only some of them
have been probed, omapfb will start and leave the unprobed displays out.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/omapfb/omapfb-main.c

index 808f6af83b15f374b943b13fb96803a0edbbb0d2..ff00d1d8bd2649348f2e1f123933f05dfe0971e9 100644 (file)
@@ -2484,7 +2484,7 @@ static int omapfb_probe(struct platform_device *pdev)
 
        if (fbdev->num_displays == 0) {
                dev_err(&pdev->dev, "no displays\n");
-               r = -EINVAL;
+               r = -EPROBE_DEFER;
                goto cleanup;
        }