drm: bridge: dw_hdmi: Switch to of_graph_get_remote_node()
authorSui Jingfeng <sui.jingfeng@linux.dev>
Sat, 16 Mar 2024 17:05:13 +0000 (01:05 +0800)
committerNeil Armstrong <neil.armstrong@linaro.org>
Mon, 18 Mar 2024 15:15:49 +0000 (16:15 +0100)
To reduce boilerplate, use of_graph_get_remote_node() helper instead of
the hand-rolling code.

Signed-off-by: Sui Jingfeng <sui.jingfeng@linux.dev>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240316170513.1159724-1-sui.jingfeng@linux.dev
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240316170513.1159724-1-sui.jingfeng@linux.dev
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c

index cceb5aab6c832a5b00674b750d05468658df0aeb..9f2bc932c37107e178e9f464c6aefb283b7b3853 100644 (file)
@@ -3291,40 +3291,17 @@ static void dw_hdmi_init_hw(struct dw_hdmi *hdmi)
 
 static int dw_hdmi_parse_dt(struct dw_hdmi *hdmi)
 {
-       struct device_node *endpoint;
        struct device_node *remote;
 
        if (!hdmi->plat_data->output_port)
                return 0;
 
-       endpoint = of_graph_get_endpoint_by_regs(hdmi->dev->of_node,
-                                                hdmi->plat_data->output_port,
-                                                -1);
-       if (!endpoint) {
-               /*
-                * On platforms whose bindings don't make the output port
-                * mandatory (such as Rockchip) the plat_data->output_port
-                * field isn't set, so it's safe to make this a fatal error.
-                */
-               dev_err(hdmi->dev, "Missing endpoint in port@%u\n",
-                       hdmi->plat_data->output_port);
-               return -ENODEV;
-       }
 
-       remote = of_graph_get_remote_port_parent(endpoint);
-       of_node_put(endpoint);
-       if (!remote) {
-               dev_err(hdmi->dev, "Endpoint in port@%u unconnected\n",
-                       hdmi->plat_data->output_port);
+       remote = of_graph_get_remote_node(hdmi->dev->of_node,
+                                         hdmi->plat_data->output_port,
+                                         -1);
+       if (!remote)
                return -ENODEV;
-       }
-
-       if (!of_device_is_available(remote)) {
-               dev_err(hdmi->dev, "port@%u remote device is disabled\n",
-                       hdmi->plat_data->output_port);
-               of_node_put(remote);
-               return -ENODEV;
-       }
 
        hdmi->next_bridge = of_drm_find_bridge(remote);
        of_node_put(remote);