diff options
Diffstat (limited to 'drivers/media/video/omap/omap_vout.c')
-rw-r--r-- | drivers/media/video/omap/omap_vout.c | 35 |
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 | } |
2614 | probe_err0: | 2617 | probe_err0: |
2615 | kfree(vid_dev); | 2618 | kfree(vid_dev); |