diff options
author | Archit Taneja <archit@ti.com> | 2012-09-26 07:12:39 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-09-26 07:58:31 -0400 |
commit | 97f01b3a2ed6d46132bf4e2d237c27846e7b260a (patch) | |
tree | 27c7a36c7ea6dbd51b6bf0a5edb04a861e8ac381 /include/video | |
parent | 6d71b923e53184808b0206ebd74159c41a2dcf38 (diff) |
OMAPDSS: APPLY: Add manager set/unset output ops for omap_overlay_manager
Add set_output/unset_output ops for overlay managers, these form links between
managers and outputs. Create a function in dss features which tell all the
output instances that connect to a manager, use it when a manager tries to set
an output. Add a constraint of not unsetting an output when the manager is
enabled.
Keep the omap_dss_device pointer and set/unset_device ops in overlay_manager for
now to not break things. Keep the dss feature function get_supported_displays
as it's used in some places. These will be removed later.
Signed-off-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'include/video')
-rw-r--r-- | include/video/omapdss.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index 6d08cf55e5e..d8fd1c85fc8 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h | |||
@@ -459,9 +459,11 @@ struct omap_overlay_manager { | |||
459 | enum omap_overlay_manager_caps caps; | 459 | enum omap_overlay_manager_caps caps; |
460 | struct list_head overlays; | 460 | struct list_head overlays; |
461 | enum omap_display_type supported_displays; | 461 | enum omap_display_type supported_displays; |
462 | enum omap_dss_output_id supported_outputs; | ||
462 | 463 | ||
463 | /* dynamic fields */ | 464 | /* dynamic fields */ |
464 | struct omap_dss_device *device; | 465 | struct omap_dss_device *device; |
466 | struct omap_dss_output *output; | ||
465 | 467 | ||
466 | /* | 468 | /* |
467 | * The following functions do not block: | 469 | * The following functions do not block: |
@@ -477,6 +479,9 @@ struct omap_overlay_manager { | |||
477 | int (*set_device)(struct omap_overlay_manager *mgr, | 479 | int (*set_device)(struct omap_overlay_manager *mgr, |
478 | struct omap_dss_device *dssdev); | 480 | struct omap_dss_device *dssdev); |
479 | int (*unset_device)(struct omap_overlay_manager *mgr); | 481 | int (*unset_device)(struct omap_overlay_manager *mgr); |
482 | int (*set_output)(struct omap_overlay_manager *mgr, | ||
483 | struct omap_dss_output *output); | ||
484 | int (*unset_output)(struct omap_overlay_manager *mgr); | ||
480 | 485 | ||
481 | int (*set_manager_info)(struct omap_overlay_manager *mgr, | 486 | int (*set_manager_info)(struct omap_overlay_manager *mgr, |
482 | struct omap_overlay_manager_info *info); | 487 | struct omap_overlay_manager_info *info); |