summary refs log tree commit diff
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2013-04-26 13:40:36 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-05-02 11:24:20 +0300
commitdfbc32316c6991010328c21e6046b05bac57eb84 (patch)
tree65a764ca011d1c15e7975fff5d693436a2ba1d0e
parentaf56fe3ca6b034685d8a7da4088637fc4fb1a6e7 (diff)
downloadlinux-dfbc32316c6991010328c21e6046b05bac57eb84.tar.gz
OMAPFB: defer probe if no displays
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>
-rw-r--r--drivers/video/omap2/omapfb/omapfb-main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
index 808f6af83b15..ff00d1d8bd26 100644
--- a/drivers/video/omap2/omapfb/omapfb-main.c
+++ b/drivers/video/omap2/omapfb/omapfb-main.c
@@ -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;
 	}