]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/commitdiff
drm/omap: fix modeset_init if a panel doesn't satisfy omapdrm requirements
authorArchit Taneja <archit@ti.com>
Tue, 26 Mar 2013 13:45:18 +0000 (19:15 +0530)
committerArchit Taneja <archit@ti.com>
Thu, 30 May 2013 15:39:27 +0000 (21:09 +0530)
modeset_init iterates through all the registered omapdss devices and has some
initial checks to see if the panel has a driver and the required driver ops for
it to be usable by omapdrm.

The function bails out from modeset_init if a panel doesn't meet the
requirements, and stops the registration of the future panels and encoders which
come after it, that isn't the correct thing to do, we should go through the rest
of the panels. Replace the 'return's with 'continue's.

Signed-off-by: Archit Taneja <archit@ti.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>

index 8e29608c6fcee9f8569eb357c0d4fe75d26761b4..a3b1eedf9cbeb150cadaf78d695cafb1d98adadb 100644 (file)
@@ -121,7 +121,7 @@ static int omap_modeset_init(struct drm_device *dev)
                if (!dssdev->driver) {
                        dev_warn(dev->dev, "%s has no driver.. skipping it\n",
-                       return 0;
+                       continue;
                if (!(dssdev->driver->get_timings ||
@@ -129,7 +129,7 @@ static int omap_modeset_init(struct drm_device *dev)
                        dev_warn(dev->dev, "%s driver does not support "
                                "get_timings or read_edid.. skipping it!\n",
-                       return 0;
+                       continue;
                encoder = omap_encoder_init(dev, dssdev);