diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-04-26 12:40:36 +0200 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-05-02 10:24:20 +0200 |
commit | dfbc32316c6991010328c21e6046b05bac57eb84 (patch) | |
tree | 65a764ca011d1c15e7975fff5d693436a2ba1d0e /drivers | |
parent | OMAPFB: use module_platform_driver() (diff) | |
download | linux-dfbc32316c6991010328c21e6046b05bac57eb84.tar.xz linux-dfbc32316c6991010328c21e6046b05bac57eb84.zip |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/omap2/omapfb/omapfb-main.c | 2 |
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; } |