Commit 319d8e98 authored by Fabrizio Castro's avatar Fabrizio Castro Committed by Neil Armstrong

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: default avatarFabrizio Castro <fabrizio.castro@bp.renesas.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1573660292-10629-8-git-send-email-fabrizio.castro@bp.renesas.com
parent e6f607bb
...@@ -57,8 +57,6 @@ static struct drm_bridge_funcs funcs = { ...@@ -57,8 +57,6 @@ static struct drm_bridge_funcs funcs = {
static int lvds_codec_probe(struct platform_device *pdev) static int lvds_codec_probe(struct platform_device *pdev)
{ {
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
struct device_node *port;
struct device_node *endpoint;
struct device_node *panel_node; struct device_node *panel_node;
struct drm_panel *panel; struct drm_panel *panel;
struct lvds_codec *lvds_codec; struct lvds_codec *lvds_codec;
...@@ -79,23 +77,9 @@ static int lvds_codec_probe(struct platform_device *pdev) ...@@ -79,23 +77,9 @@ static int lvds_codec_probe(struct platform_device *pdev)
} }
/* Locate the panel DT node. */ /* Locate the panel DT node. */
port = of_graph_get_port_by_id(dev->of_node, 1); panel_node = of_graph_get_remote_node(dev->of_node, 1, 0);
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);
if (!panel_node) { if (!panel_node) {
dev_dbg(dev, "no remote endpoint for port 1\n"); dev_dbg(dev, "panel DT node not found\n");
return -ENXIO; return -ENXIO;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment