V4L/DVB: OMAP_VOUT:Build FIX: Rebased against latest DSS2 changes
authorVaibhav Hiremath <hvaibhav@ti.com>
Thu, 27 May 2010 11:17:07 +0000 (08:17 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 8 Jul 2010 19:48:44 +0000 (16:48 -0300)
Changes -
- Kconfig option dependancy changed to ARCH_OMAP2/3 from
ARCH_OMAP24XX/34XX
- There are some moments of function from omap_dss_device
to omap_dss_driver. Incorporated changes for the same.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Muralidharan Karicheri <mkaricheri@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/omap/Kconfig
drivers/media/video/omap/omap_vout.c

index 97c53949ca897ed11e55637f16dfe090582cb38d..c1d19335891a8ff13dfc599323fb77f1e6e3fc18 100644 (file)
@@ -1,6 +1,6 @@
 config VIDEO_OMAP2_VOUT
        tristate "OMAP2/OMAP3 V4L2-Display driver"
-       depends on ARCH_OMAP24XX || ARCH_OMAP34XX
+       depends on ARCH_OMAP2 || ARCH_OMAP3
        select VIDEOBUF_GEN
        select VIDEOBUF_DMA_SG
        select OMAP2_DSS
index e7db0554949a943fff6d3f6e1221064916b7acb1..dfa68268a73b360d04aaf05e0f90296fcf3c199c 100644 (file)
@@ -38,6 +38,7 @@
 #include <linux/dma-mapping.h>
 #include <linux/irq.h>
 #include <linux/videodev2.h>
+#include <linux/slab.h>
 
 #include <media/videobuf-dma-sg.h>
 #include <media/v4l2-device.h>
@@ -2488,7 +2489,7 @@ static int omap_vout_remove(struct platform_device *pdev)
 
        for (k = 0; k < vid_dev->num_displays; k++) {
                if (vid_dev->displays[k]->state != OMAP_DSS_DISPLAY_DISABLED)
-                       vid_dev->displays[k]->disable(vid_dev->displays[k]);
+                       vid_dev->displays[k]->driver->disable(vid_dev->displays[k]);
 
                omap_dss_put_device(vid_dev->displays[k]);
        }
@@ -2545,7 +2546,9 @@ static int __init omap_vout_probe(struct platform_device *pdev)
                        def_display = NULL;
                }
                if (def_display) {
-                       ret = def_display->enable(def_display);
+                       struct omap_dss_driver *dssdrv = def_display->driver;
+
+                       ret = dssdrv->enable(def_display);
                        if (ret) {
                                /* Here we are not considering a error
                                 *  as display may be enabled by frame
@@ -2559,21 +2562,21 @@ static int __init omap_vout_probe(struct platform_device *pdev)
                        if (def_display->caps &
                                        OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
 #ifdef CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE
-                               if (def_display->enable_te)
-                                       def_display->enable_te(def_display, 1);
-                               if (def_display->set_update_mode)
-                                       def_display->set_update_mode(def_display,
+                               if (dssdrv->enable_te)
+                                       dssdrv->enable_te(def_display, 1);
+                               if (dssdrv->set_update_mode)
+                                       dssdrv->set_update_mode(def_display,
                                                        OMAP_DSS_UPDATE_AUTO);
 #else  /* MANUAL_UPDATE */
-                               if (def_display->enable_te)
-                                       def_display->enable_te(def_display, 0);
-                               if (def_display->set_update_mode)
-                                       def_display->set_update_mode(def_display,
+                               if (dssdrv->enable_te)
+                                       dssdrv->enable_te(def_display, 0);
+                               if (dssdrv->set_update_mode)
+                                       dssdrv->set_update_mode(def_display,
                                                        OMAP_DSS_UPDATE_MANUAL);
 #endif
                        } else {
-                               if (def_display->set_update_mode)
-                                       def_display->set_update_mode(def_display,
+                               if (dssdrv->set_update_mode)
+                                       dssdrv->set_update_mode(def_display,
                                                        OMAP_DSS_UPDATE_AUTO);
                        }
                }
@@ -2592,8 +2595,8 @@ static int __init omap_vout_probe(struct platform_device *pdev)
        for (i = 0; i < vid_dev->num_displays; i++) {
                struct omap_dss_device *display = vid_dev->displays[i];
 
-               if (display->update)
-                       display->update(display, 0, 0,
+               if (display->driver->update)
+                       display->driver->update(display, 0, 0,
                                        display->panel.timings.x_res,
                                        display->panel.timings.y_res);
        }
@@ -2608,8 +2611,8 @@ probe_err1:
                if (ovl->manager && ovl->manager->device)
                        def_display = ovl->manager->device;
 
-               if (def_display)
-                       def_display->disable(def_display);
+               if (def_display && def_display->driver)
+                       def_display->driver->disable(def_display);
        }
 probe_err0:
        kfree(vid_dev);