Using the for_each_... macro should make the code bit shorter and easier to read. Since we can break out of the loop, we keep the call to of_node_put after the loop. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> --- drivers/staging/imx-drm/imx-drm-core.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c index 9b5222c..8f2a802 100644 --- a/drivers/staging/imx-drm/imx-drm-core.c +++ b/drivers/staging/imx-drm/imx-drm-core.c @@ -438,17 +438,13 @@ int imx_drm_encoder_parse_of(struct drm_device *drm, struct drm_encoder *encoder, struct device_node *np) { struct imx_drm_device *imxdrm = drm->dev_private; - struct device_node *ep = NULL; + struct device_node *ep; uint32_t crtc_mask = 0; - int i; + int i = 0; - for (i = 0; ; i++) { + for_each_endpoint_of_node(np, ep) { u32 mask; - ep = of_graph_get_next_endpoint(np, ep); - if (!ep) - break; - mask = imx_drm_find_crtc_mask(imxdrm, ep); /* @@ -461,6 +457,7 @@ int imx_drm_encoder_parse_of(struct drm_device *drm, return -EPROBE_DEFER; crtc_mask |= mask; + i++; } if (ep) -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html