aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/omapdrm/dss/base.c13
-rw-r--r--drivers/gpu/drm/omapdrm/dss/dss-of.c2
-rw-r--r--drivers/gpu/drm/omapdrm/dss/omapdss.h4
-rw-r--r--drivers/gpu/drm/omapdrm/dss/output.c13
4 files changed, 16 insertions, 16 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c
index 63fe0a717884..df6cb1ac43c8 100644
--- a/drivers/gpu/drm/omapdrm/dss/base.c
+++ b/drivers/gpu/drm/omapdrm/dss/base.c
@@ -89,6 +89,19 @@ static bool omapdss_device_is_registered(struct device_node *node)
89 return found; 89 return found;
90} 90}
91 91
92struct omap_dss_device *omapdss_find_device_by_port(struct device_node *src,
93 unsigned int port)
94{
95 struct omap_dss_device *dssdev;
96
97 list_for_each_entry(dssdev, &omapdss_devices_list, list) {
98 if (dssdev->dev->of_node == src && dssdev->port_num == port)
99 return omap_dss_get_device(dssdev);
100 }
101
102 return NULL;
103}
104
92/* ----------------------------------------------------------------------------- 105/* -----------------------------------------------------------------------------
93 * Components Handling 106 * Components Handling
94 */ 107 */
diff --git a/drivers/gpu/drm/omapdrm/dss/dss-of.c b/drivers/gpu/drm/omapdrm/dss/dss-of.c
index b51af09e9111..771b20db2d98 100644
--- a/drivers/gpu/drm/omapdrm/dss/dss-of.c
+++ b/drivers/gpu/drm/omapdrm/dss/dss-of.c
@@ -74,7 +74,7 @@ omapdss_of_find_source_for_first_ep(struct device_node *node)
74 return NULL; 74 return NULL;
75 75
76 /* ... and finally the source. */ 76 /* ... and finally the source. */
77 src = omap_dss_find_output_by_port(src_node, port_number); 77 src = omapdss_find_device_by_port(src_node, port_number);
78 of_node_put(src_node); 78 of_node_put(src_node);
79 79
80 return src ? src : ERR_PTR(-EPROBE_DEFER); 80 return src ? src : ERR_PTR(-EPROBE_DEFER);
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index ff0f603bce76..2ec74206bcff 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -563,6 +563,8 @@ void omapdss_unregister_display(struct omap_dss_device *dssdev);
563 563
564void omapdss_device_register(struct omap_dss_device *dssdev); 564void omapdss_device_register(struct omap_dss_device *dssdev);
565void omapdss_device_unregister(struct omap_dss_device *dssdev); 565void omapdss_device_unregister(struct omap_dss_device *dssdev);
566struct omap_dss_device *omapdss_find_device_by_port(struct device_node *src,
567 unsigned int port);
566 568
567struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev); 569struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev);
568void omap_dss_put_device(struct omap_dss_device *dssdev); 570void omap_dss_put_device(struct omap_dss_device *dssdev);
@@ -576,8 +578,6 @@ int omap_dss_get_num_overlays(void);
576int omapdss_register_output(struct omap_dss_device *output); 578int omapdss_register_output(struct omap_dss_device *output);
577void omapdss_unregister_output(struct omap_dss_device *output); 579void omapdss_unregister_output(struct omap_dss_device *output);
578struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id); 580struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id);
579struct omap_dss_device *omap_dss_find_output_by_port(struct device_node *src,
580 unsigned int port);
581int omapdss_output_set_device(struct omap_dss_device *out, 581int omapdss_output_set_device(struct omap_dss_device *out,
582 struct omap_dss_device *dssdev); 582 struct omap_dss_device *dssdev);
583int omapdss_output_unset_device(struct omap_dss_device *out); 583int omapdss_output_unset_device(struct omap_dss_device *out);
diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c
index be254ea42e08..e659c8e5c419 100644
--- a/drivers/gpu/drm/omapdrm/dss/output.c
+++ b/drivers/gpu/drm/omapdrm/dss/output.c
@@ -122,19 +122,6 @@ struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id)
122} 122}
123EXPORT_SYMBOL(omap_dss_get_output); 123EXPORT_SYMBOL(omap_dss_get_output);
124 124
125struct omap_dss_device *omap_dss_find_output_by_port(struct device_node *src,
126 unsigned int port)
127{
128 struct omap_dss_device *out;
129
130 list_for_each_entry(out, &output_list, output_list) {
131 if (out->dev->of_node == src && out->port_num == port)
132 return omap_dss_get_device(out);
133 }
134
135 return NULL;
136}
137
138struct omap_dss_device *omapdss_find_output_from_display(struct omap_dss_device *dssdev) 125struct omap_dss_device *omapdss_find_output_from_display(struct omap_dss_device *dssdev)
139{ 126{
140 while (dssdev->src) 127 while (dssdev->src)