OMAPFB: Change dssdev->manager references
authorArchit Taneja <archit@ti.com>
Mon, 10 Sep 2012 09:13:39 +0000 (14:43 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 26 Sep 2012 11:58:37 +0000 (14:58 +0300)
To retrieve the manager pointer via a device, we need to now access it via the
output to which the device is connected. Make this change in omapfb_ioctl()
where the WAITFORVSYNC ioctl tries to access the manager's device.

Signed-off-by: Archit Taneja <archit@ti.com>
drivers/video/omap2/omapfb/omapfb-ioctl.c

index c6cf372d22c58b9941051c67028df365e178657f..606b89f12351d4e1cc2cb234fd4e5c481bf82cda 100644 (file)
@@ -599,6 +599,7 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
        struct omapfb_info *ofbi = FB2OFB(fbi);
        struct omapfb2_device *fbdev = ofbi->fbdev;
        struct omap_dss_device *display = fb2display(fbi);
+       struct omap_overlay_manager *mgr;
 
        union {
                struct omapfb_update_window_old uwnd_o;
@@ -786,12 +787,14 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
 
        case OMAPFB_WAITFORVSYNC:
                DBG("ioctl WAITFORVSYNC\n");
-               if (!display) {
+               if (!display && !display->output && !display->output->manager) {
                        r = -EINVAL;
                        break;
                }
 
-               r = display->manager->wait_for_vsync(display->manager);
+               mgr = display->output->manager;
+
+               r = mgr->wait_for_vsync(mgr);
                break;
 
        case OMAPFB_WAITFORGO: