drm/tilcdc: Avoid error print by of_graph_get_next_endpoint()
authorJyri Sarha <jsarha@ti.com>
Mon, 6 Jun 2016 08:11:35 +0000 (11:11 +0300)
committerJyri Sarha <jsarha@ti.com>
Mon, 8 Aug 2016 20:04:56 +0000 (23:04 +0300)
Avoid error print by of_graph_get_next_endpoint() if there is no ports
present.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
drivers/gpu/drm/tilcdc/tilcdc_external.c

index 03acb4f99982f6f219fabf701738fc916930440c..ad3db4d30b491f284d6da5e06c577bed93a1c0e6 100644 (file)
@@ -138,12 +138,21 @@ static int dev_match_of(struct device *dev, void *data)
 int tilcdc_get_external_components(struct device *dev,
                                   struct component_match **match)
 {
+       struct device_node *node;
        struct device_node *ep = NULL;
        int count = 0;
 
-       while ((ep = of_graph_get_next_endpoint(dev->of_node, ep))) {
-               struct device_node *node;
+       /* Avoid error print by of_graph_get_next_endpoint() if there
+        * is no ports present.
+        */
+       node = of_get_child_by_name(dev->of_node, "ports");
+       if (!node)
+               node = of_get_child_by_name(dev->of_node, "port");
+       if (!node)
+               return 0;
+       of_node_put(node);
 
+       while ((ep = of_graph_get_next_endpoint(dev->of_node, ep))) {
                node = of_graph_get_remote_port_parent(ep);
                if (!node && !of_device_is_available(node)) {
                        of_node_put(node);