aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/omap/omap_vout.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/omap/omap_vout.c')
-rw-r--r--drivers/media/video/omap/omap_vout.c35
1 files changed, 19 insertions, 16 deletions
diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
index e7db0554949a..dfa68268a73b 100644
--- a/drivers/media/video/omap/omap_vout.c
+++ b/drivers/media/video/omap/omap_vout.c
@@ -38,6 +38,7 @@
38#include <linux/dma-mapping.h> 38#include <linux/dma-mapping.h>
39#include <linux/irq.h> 39#include <linux/irq.h>
40#include <linux/videodev2.h> 40#include <linux/videodev2.h>
41#include <linux/slab.h>
41 42
42#include <media/videobuf-dma-sg.h> 43#include <media/videobuf-dma-sg.h>
43#include <media/v4l2-device.h> 44#include <media/v4l2-device.h>
@@ -2488,7 +2489,7 @@ static int omap_vout_remove(struct platform_device *pdev)
2488 2489
2489 for (k = 0; k < vid_dev->num_displays; k++) { 2490 for (k = 0; k < vid_dev->num_displays; k++) {
2490 if (vid_dev->displays[k]->state != OMAP_DSS_DISPLAY_DISABLED) 2491 if (vid_dev->displays[k]->state != OMAP_DSS_DISPLAY_DISABLED)
2491 vid_dev->displays[k]->disable(vid_dev->displays[k]); 2492 vid_dev->displays[k]->driver->disable(vid_dev->displays[k]);
2492 2493
2493 omap_dss_put_device(vid_dev->displays[k]); 2494 omap_dss_put_device(vid_dev->displays[k]);
2494 } 2495 }
@@ -2545,7 +2546,9 @@ static int __init omap_vout_probe(struct platform_device *pdev)
2545 def_display = NULL; 2546 def_display = NULL;
2546 } 2547 }
2547 if (def_display) { 2548 if (def_display) {
2548 ret = def_display->enable(def_display); 2549 struct omap_dss_driver *dssdrv = def_display->driver;
2550
2551 ret = dssdrv->enable(def_display);
2549 if (ret) { 2552 if (ret) {
2550 /* Here we are not considering a error 2553 /* Here we are not considering a error
2551 * as display may be enabled by frame 2554 * as display may be enabled by frame
@@ -2559,21 +2562,21 @@ static int __init omap_vout_probe(struct platform_device *pdev)
2559 if (def_display->caps & 2562 if (def_display->caps &
2560 OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) { 2563 OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
2561#ifdef CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE 2564#ifdef CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE
2562 if (def_display->enable_te) 2565 if (dssdrv->enable_te)
2563 def_display->enable_te(def_display, 1); 2566 dssdrv->enable_te(def_display, 1);
2564 if (def_display->set_update_mode) 2567 if (dssdrv->set_update_mode)
2565 def_display->set_update_mode(def_display, 2568 dssdrv->set_update_mode(def_display,
2566 OMAP_DSS_UPDATE_AUTO); 2569 OMAP_DSS_UPDATE_AUTO);
2567#else /* MANUAL_UPDATE */ 2570#else /* MANUAL_UPDATE */
2568 if (def_display->enable_te) 2571 if (dssdrv->enable_te)
2569 def_display->enable_te(def_display, 0); 2572 dssdrv->enable_te(def_display, 0);
2570 if (def_display->set_update_mode) 2573 if (dssdrv->set_update_mode)
2571 def_display->set_update_mode(def_display, 2574 dssdrv->set_update_mode(def_display,
2572 OMAP_DSS_UPDATE_MANUAL); 2575 OMAP_DSS_UPDATE_MANUAL);
2573#endif 2576#endif
2574 } else { 2577 } else {
2575 if (def_display->set_update_mode) 2578 if (dssdrv->set_update_mode)
2576 def_display->set_update_mode(def_display, 2579 dssdrv->set_update_mode(def_display,
2577 OMAP_DSS_UPDATE_AUTO); 2580 OMAP_DSS_UPDATE_AUTO);
2578 } 2581 }
2579 } 2582 }
@@ -2592,8 +2595,8 @@ static int __init omap_vout_probe(struct platform_device *pdev)
2592 for (i = 0; i < vid_dev->num_displays; i++) { 2595 for (i = 0; i < vid_dev->num_displays; i++) {
2593 struct omap_dss_device *display = vid_dev->displays[i]; 2596 struct omap_dss_device *display = vid_dev->displays[i];
2594 2597
2595 if (display->update) 2598 if (display->driver->update)
2596 display->update(display, 0, 0, 2599 display->driver->update(display, 0, 0,
2597 display->panel.timings.x_res, 2600 display->panel.timings.x_res,
2598 display->panel.timings.y_res); 2601 display->panel.timings.y_res);
2599 } 2602 }
@@ -2608,8 +2611,8 @@ probe_err1:
2608 if (ovl->manager && ovl->manager->device) 2611 if (ovl->manager && ovl->manager->device)
2609 def_display = ovl->manager->device; 2612 def_display = ovl->manager->device;
2610 2613
2611 if (def_display) 2614 if (def_display && def_display->driver)
2612 def_display->disable(def_display); 2615 def_display->driver->disable(def_display);
2613 } 2616 }
2614probe_err0: 2617probe_err0:
2615 kfree(vid_dev); 2618 kfree(vid_dev);