diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index a0def0be6d65..93ebb12133e1 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -228,29 +228,6 @@ static void mic_set_reg_on(struct exynos_mic *mic, bool enable)
writel(reg, mic->reg + MIC_OP);
}
-static struct device_node *get_remote_node(struct device_node *from, int reg)
-{
- struct device_node *endpoint = NULL, *remote_node = NULL;
-
- endpoint = of_graph_get_endpoint_by_regs(from, reg, -1);
- if (!endpoint) {
- DRM_ERROR("mic: Failed to find remote port from %s",
- from->full_name);
- goto exit;
- }
-
- remote_node = of_graph_get_remote_port_parent(endpoint);
- if (!remote_node) {
- DRM_ERROR("mic: Failed to find remote port parent from %s",
- from->full_name);
- goto exit;
- }
-
-exit:
- of_node_put(endpoint);
- return remote_node;
-}
-
static int parse_dt(struct exynos_mic *mic)
{
int ret = 0, i, j;
@@ -262,7 +239,7 @@ static int parse_dt(struct exynos_mic *mic)
* The first node must be for decon and the second one must be for dsi.
*/
for (i = 0, j = 0; i < NUM_ENDPOINTS; i++) {
- remote_node = get_remote_node(mic->dev->of_node, i);
+ remote_node = of_graph_get_remote_node(mic->dev->of_node, i, 0);
if (!remote_node) {
ret = -EPIPE;
goto exit;
@@ -279,7 +256,7 @@ static int parse_dt(struct exynos_mic *mic)
break;
case ENDPOINT_DSI_NODE:
/* panel node */
- remote_node = get_remote_node(remote_node, 1);
+ remote_node = of_graph_get_remote_node(remote_node, 1, 0);
if (!remote_node) {
ret = -EPIPE;
goto exit;
diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
index ebd5f4fe4c23..18d6570e057d 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
@@ -247,34 +247,6 @@ static const struct component_master_ops kirin_drm_ops = {
.unbind = kirin_drm_unbind,
};