diff options
author | Jyri Sarha <jsarha@ti.com> | 2016-06-06 11:11:35 +0300 |
---|---|---|
committer | Jyri Sarha <jsarha@ti.com> | 2016-08-08 23:04:56 +0300 |
commit | 10a55a18f50136fe7229ad9a3dea4f7c2d387f6a (patch) | |
tree | c893c57cf1a94a863aa9cc5bc23722fe6d3ed261 /drivers/gpu/drm/tilcdc/tilcdc_external.c | |
parent | 24b31ba099c6e32685211847fa58d876f562eb11 (diff) | |
download | linux-next-10a55a18f50136fe7229ad9a3dea4f7c2d387f6a.tar.gz |
drm/tilcdc: Avoid error print by of_graph_get_next_endpoint()
Avoid error print by of_graph_get_next_endpoint() if there is no ports
present.
Signed-off-by: Jyri Sarha <jsarha@ti.com>
Diffstat (limited to 'drivers/gpu/drm/tilcdc/tilcdc_external.c')
-rw-r--r-- | drivers/gpu/drm/tilcdc/tilcdc_external.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_external.c b/drivers/gpu/drm/tilcdc/tilcdc_external.c index 03acb4f99982..ad3db4d30b49 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_external.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_external.c @@ -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); |