Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 539bb6a2 authored by Philipp Zabel's avatar Philipp Zabel
Browse files

drm/imx: use for_each_endpoint_of_node macro in imx_drm_encoder_get_mux_id



Using the for_each_... macro should make the code bit shorter and
easier to read. This patch also properly decrements the endpoint node
reference count before returning out of the loop.

Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
parent 7416f4e3
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -439,7 +439,7 @@ int imx_drm_encoder_get_mux_id(struct device_node *node,
			       struct drm_encoder *encoder)
{
	struct imx_drm_crtc *imx_crtc = imx_drm_find_crtc(encoder->crtc);
	struct device_node *ep = NULL;
	struct device_node *ep;
	struct of_endpoint endpoint;
	struct device_node *port;
	int ret;
@@ -447,18 +447,15 @@ int imx_drm_encoder_get_mux_id(struct device_node *node,
	if (!node || !imx_crtc)
		return -EINVAL;

	do {
		ep = of_graph_get_next_endpoint(node, ep);
		if (!ep)
			break;

	for_each_endpoint_of_node(node, ep) {
		port = of_graph_get_remote_port(ep);
		of_node_put(port);
		if (port == imx_crtc->crtc->port) {
			ret = of_graph_parse_endpoint(ep, &endpoint);
			of_node_put(ep);
			return ret ? ret : endpoint.port;
		}
	} while (ep);
	}

	return -EINVAL;
}