aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/bridge
diff options
context:
space:
mode:
authorFabrizio Castro <fabrizio.castro@bp.renesas.com>2019-11-13 15:51:26 +0000
committerNeil Armstrong <narmstrong@baylibre.com>2019-12-18 12:26:09 +0100
commit319d8e9814c4da2c6ea0a8e080b3ffa517542daf (patch)
tree8f6f0c620af8405f7a5cc4e453f1f1a02d900424 /drivers/gpu/drm/bridge
parentdrm/bridge: lvds-codec: Add "lvds-decoder" support (diff)
downloadlinux-dev-319d8e9814c4da2c6ea0a8e080b3ffa517542daf.tar.xz
linux-dev-319d8e9814c4da2c6ea0a8e080b3ffa517542daf.zip
drm/bridge: lvds-codec: Simplify panel DT node localisation
The probe function needs to get ahold of the panel device tree node, and it achieves that by using a combination of of_graph_get_port_by_id, of_get_child_by_name, and of_graph_get_remote_port_parent. We can achieve the same goal by replacing those calls with a call to of_graph_get_remote_node these days. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Link: https://patchwork.freedesktop.org/patch/msgid/1573660292-10629-8-git-send-email-fabrizio.castro@bp.renesas.com
Diffstat (limited to 'drivers/gpu/drm/bridge')
-rw-r--r--drivers/gpu/drm/bridge/lvds-codec.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/drivers/gpu/drm/bridge/lvds-codec.c b/drivers/gpu/drm/bridge/lvds-codec.c
index d072a76b20d9..5f04cc11227e 100644
--- a/drivers/gpu/drm/bridge/lvds-codec.c
+++ b/drivers/gpu/drm/bridge/lvds-codec.c
@@ -57,8 +57,6 @@ static struct drm_bridge_funcs funcs = {
static int lvds_codec_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
- struct device_node *port;
- struct device_node *endpoint;
struct device_node *panel_node;
struct drm_panel *panel;
struct lvds_codec *lvds_codec;
@@ -79,23 +77,9 @@ static int lvds_codec_probe(struct platform_device *pdev)
}
/* Locate the panel DT node. */
- port = of_graph_get_port_by_id(dev->of_node, 1);
- if (!port) {
- dev_dbg(dev, "port 1 not found\n");
- return -ENXIO;
- }
-
- endpoint = of_get_child_by_name(port, "endpoint");
- of_node_put(port);
- if (!endpoint) {
- dev_dbg(dev, "no endpoint for port 1\n");
- return -ENXIO;
- }
-
- panel_node = of_graph_get_remote_port_parent(endpoint);
- of_node_put(endpoint);
+ panel_node = of_graph_get_remote_node(dev->of_node, 1, 0);
if (!panel_node) {
- dev_dbg(dev, "no remote endpoint for port 1\n");
+ dev_dbg(dev, "panel DT node not found\n");
return -ENXIO;
}