drm/omap: dss: Allow looking up any device by port
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Thu, 1 Mar 2018 21:35:55 +0000 (23:35 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 3 Sep 2018 13:13:26 +0000 (16:13 +0300)
The omap_dss_find_output_by_port() function looks up an omap_dss_device
by port from the list of devices registered as outputs. In preparation
for looking up sinks in addition to sources, allow the function to look
up any registered device. Rename it to omap_dss_find_device_by_port() to
match its new purpose.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/dss/base.c
drivers/gpu/drm/omapdrm/dss/dss-of.c
drivers/gpu/drm/omapdrm/dss/omapdss.h
drivers/gpu/drm/omapdrm/dss/output.c

index 63fe0a7178848e07f323d4fb2e82e3bbfe5e2d7c..df6cb1ac43c8cc99cf58d2dc990e2babf134bf57 100644 (file)
@@ -89,6 +89,19 @@ static bool omapdss_device_is_registered(struct device_node *node)
        return found;
 }
 
+struct omap_dss_device *omapdss_find_device_by_port(struct device_node *src,
+                                                   unsigned int port)
+{
+       struct omap_dss_device *dssdev;
+
+       list_for_each_entry(dssdev, &omapdss_devices_list, list) {
+               if (dssdev->dev->of_node == src && dssdev->port_num == port)
+                       return omap_dss_get_device(dssdev);
+       }
+
+       return NULL;
+}
+
 /* -----------------------------------------------------------------------------
  * Components Handling
  */
index b51af09e9111d0d90b17e9b197bf16e9184b612a..771b20db2d98a8c7cbc9f38c409319b79b9620e0 100644 (file)
@@ -74,7 +74,7 @@ omapdss_of_find_source_for_first_ep(struct device_node *node)
                return NULL;
 
        /* ... and finally the source. */
-       src = omap_dss_find_output_by_port(src_node, port_number);
+       src = omapdss_find_device_by_port(src_node, port_number);
        of_node_put(src_node);
 
        return src ? src : ERR_PTR(-EPROBE_DEFER);
index ff0f603bce769b6a45684e224369ee52cea21070..2ec74206bcfff07feef649c7a7b3a08750de133c 100644 (file)
@@ -563,6 +563,8 @@ void omapdss_unregister_display(struct omap_dss_device *dssdev);
 
 void omapdss_device_register(struct omap_dss_device *dssdev);
 void omapdss_device_unregister(struct omap_dss_device *dssdev);
+struct omap_dss_device *omapdss_find_device_by_port(struct device_node *src,
+                                                   unsigned int port);
 
 struct omap_dss_device *omap_dss_get_device(struct omap_dss_device *dssdev);
 void omap_dss_put_device(struct omap_dss_device *dssdev);
@@ -576,8 +578,6 @@ int omap_dss_get_num_overlays(void);
 int omapdss_register_output(struct omap_dss_device *output);
 void omapdss_unregister_output(struct omap_dss_device *output);
 struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id);
-struct omap_dss_device *omap_dss_find_output_by_port(struct device_node *src,
-                                                    unsigned int port);
 int omapdss_output_set_device(struct omap_dss_device *out,
                struct omap_dss_device *dssdev);
 int omapdss_output_unset_device(struct omap_dss_device *out);
index be254ea42e08c15243749607fffe20c95478bc43..e659c8e5c419d6d1aad51c8ecc1505ff1f1c86c6 100644 (file)
@@ -122,19 +122,6 @@ struct omap_dss_device *omap_dss_get_output(enum omap_dss_output_id id)
 }
 EXPORT_SYMBOL(omap_dss_get_output);
 
-struct omap_dss_device *omap_dss_find_output_by_port(struct device_node *src,
-                                                    unsigned int port)
-{
-       struct omap_dss_device *out;
-
-       list_for_each_entry(out, &output_list, output_list) {
-               if (out->dev->of_node == src && out->port_num == port)
-                       return omap_dss_get_device(out);
-       }
-
-       return NULL;
-}
-
 struct omap_dss_device *omapdss_find_output_from_display(struct omap_dss_device *dssdev)
 {
        while (dssdev->src)