In prepataion to further modify the logic of this function, simplify
putting the struct device_node pointer by using a cleanup action.

Signed-off-by: Luca Ceresoli <[email protected]>
---
 drivers/gpu/drm/drm_of.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c
index e495117735e1..b42a321f3052 100644
--- a/drivers/gpu/drm/drm_of.c
+++ b/drivers/gpu/drm/drm_of.c
@@ -288,7 +288,6 @@ int drm_of_find_panel_or_bridge(const struct device_node 
*np,
                                struct drm_bridge **bridge)
 {
        int ret = -EPROBE_DEFER;
-       struct device_node *remote;
 
        if (WARN_ON(!panel))
                return -EINVAL;
@@ -304,7 +303,8 @@ int drm_of_find_panel_or_bridge(const struct device_node 
*np,
        if (!of_graph_is_present(np))
                return -ENODEV;
 
-       remote = of_graph_get_remote_node(np, port, endpoint);
+       struct device_node *remote __free(device_node) =
+               of_graph_get_remote_node(np, port, endpoint);
        if (!remote)
                return -ENODEV;
 
@@ -326,7 +326,6 @@ int drm_of_find_panel_or_bridge(const struct device_node 
*np,
 
        }
 
-       of_node_put(remote);
        return ret;
 }
 EXPORT_SYMBOL_GPL(drm_of_find_panel_or_bridge);

-- 
2.55.0

Reply via email to