aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/imx/parallel-display.c
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2016-05-03 08:39:29 -0400
committerPhilipp Zabel <p.zabel@pengutronix.de>2016-05-30 03:14:00 -0400
commit3a1c117f8bf13435f6db78f294d5754b2eb6185b (patch)
tree38b4006619ed8ffc90dc7a9b460127d74540e1f8 /drivers/gpu/drm/imx/parallel-display.c
parent620011e0477e485fc6112ace3c0a772130e8fd4f (diff)
drm/imx: parallel-display: use of_graph_get_endpoint_by_regs helper
Instead of using of_graph_get_port_by_id() to get the port and then of_get_child_by_name() to get the first endpoint, get to the endpoint in a single step. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/drm/imx/parallel-display.c')
-rw-r--r--drivers/gpu/drm/imx/parallel-display.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c
index 363e2c7741e2..27755ecbf516 100644
--- a/drivers/gpu/drm/imx/parallel-display.c
+++ b/drivers/gpu/drm/imx/parallel-display.c
@@ -203,7 +203,7 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data)
203{ 203{
204 struct drm_device *drm = data; 204 struct drm_device *drm = data;
205 struct device_node *np = dev->of_node; 205 struct device_node *np = dev->of_node;
206 struct device_node *port; 206 struct device_node *ep;
207 const u8 *edidp; 207 const u8 *edidp;
208 struct imx_parallel_display *imxpd; 208 struct imx_parallel_display *imxpd;
209 int ret; 209 int ret;
@@ -230,18 +230,18 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data)
230 } 230 }
231 231
232 /* port@1 is the output port */ 232 /* port@1 is the output port */
233 port = of_graph_get_port_by_id(np, 1); 233 ep = of_graph_get_endpoint_by_regs(np, 1, -1);
234 if (port) { 234 if (ep) {
235 struct device_node *endpoint, *remote; 235 struct device_node *remote;
236 236
237 endpoint = of_get_child_by_name(port, "endpoint"); 237 remote = of_graph_get_remote_port_parent(ep);
238 if (endpoint) { 238 of_node_put(ep);
239 remote = of_graph_get_remote_port_parent(endpoint); 239 if (remote) {
240 if (remote) 240 imxpd->panel = of_drm_find_panel(remote);
241 imxpd->panel = of_drm_find_panel(remote); 241 of_node_put(remote);
242 if (!imxpd->panel)
243 return -EPROBE_DEFER;
244 } 242 }
243 if (!imxpd->panel)
244 return -EPROBE_DEFER;
245 } 245 }
246 246
247 imxpd->dev = dev; 247 imxpd->dev = dev;