diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap2/dss/Makefile | 2 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dss.h | 4 | ||||
-rw-r--r-- | drivers/video/omap2/dss/output.c | 48 |
3 files changed, 53 insertions, 1 deletions
diff --git a/drivers/video/omap2/dss/Makefile b/drivers/video/omap2/dss/Makefile index 00a6eb566bb6..4549869bfe1a 100644 --- a/drivers/video/omap2/dss/Makefile +++ b/drivers/video/omap2/dss/Makefile | |||
@@ -1,6 +1,6 @@ | |||
1 | obj-$(CONFIG_OMAP2_DSS) += omapdss.o | 1 | obj-$(CONFIG_OMAP2_DSS) += omapdss.o |
2 | omapdss-y := core.o dss.o dss_features.o dispc.o dispc_coefs.o display.o \ | 2 | omapdss-y := core.o dss.o dss_features.o dispc.o dispc_coefs.o display.o \ |
3 | manager.o manager-sysfs.o overlay.o overlay-sysfs.o apply.o | 3 | manager.o manager-sysfs.o overlay.o overlay-sysfs.o output.o apply.o |
4 | omapdss-$(CONFIG_OMAP2_DSS_DPI) += dpi.o | 4 | omapdss-$(CONFIG_OMAP2_DSS_DPI) += dpi.o |
5 | omapdss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o | 5 | omapdss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o |
6 | omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o venc_panel.o | 6 | omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o venc_panel.o |
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h index 40c36cafec6e..aecd3bea2e63 100644 --- a/drivers/video/omap2/dss/dss.h +++ b/drivers/video/omap2/dss/dss.h | |||
@@ -226,6 +226,10 @@ int dss_ovl_set_manager(struct omap_overlay *ovl, | |||
226 | struct omap_overlay_manager *mgr); | 226 | struct omap_overlay_manager *mgr); |
227 | int dss_ovl_unset_manager(struct omap_overlay *ovl); | 227 | int dss_ovl_unset_manager(struct omap_overlay *ovl); |
228 | 228 | ||
229 | /* output */ | ||
230 | void dss_register_output(struct omap_dss_output *out); | ||
231 | void dss_unregister_output(struct omap_dss_output *out); | ||
232 | |||
229 | /* display */ | 233 | /* display */ |
230 | int dss_suspend_all_devices(void); | 234 | int dss_suspend_all_devices(void); |
231 | int dss_resume_all_devices(void); | 235 | int dss_resume_all_devices(void); |
diff --git a/drivers/video/omap2/dss/output.c b/drivers/video/omap2/dss/output.c new file mode 100644 index 000000000000..388a6c997b9c --- /dev/null +++ b/drivers/video/omap2/dss/output.c | |||
@@ -0,0 +1,48 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Texas Instruments Ltd | ||
3 | * Author: Archit Taneja <archit@ti.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published by | ||
7 | * the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
12 | * more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along with | ||
15 | * this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include <linux/kernel.h> | ||
19 | #include <linux/platform_device.h> | ||
20 | #include <linux/slab.h> | ||
21 | |||
22 | #include <video/omapdss.h> | ||
23 | |||
24 | #include "dss.h" | ||
25 | |||
26 | static LIST_HEAD(output_list); | ||
27 | |||
28 | void dss_register_output(struct omap_dss_output *out) | ||
29 | { | ||
30 | list_add_tail(&out->list, &output_list); | ||
31 | } | ||
32 | |||
33 | void dss_unregister_output(struct omap_dss_output *out) | ||
34 | { | ||
35 | list_del(&out->list); | ||
36 | } | ||
37 | |||
38 | struct omap_dss_output *omap_dss_get_output(enum omap_dss_output_id id) | ||
39 | { | ||
40 | struct omap_dss_output *out; | ||
41 | |||
42 | list_for_each_entry(out, &output_list, list) { | ||
43 | if (out->id == id) | ||
44 | return out; | ||
45 | } | ||
46 | |||
47 | return NULL; | ||
48 | } | ||