diff --git a/drivers/gpu/drm/rockchip/rk618/rk618_lvds.c b/drivers/gpu/drm/rockchip/rk618/rk618_lvds.c index a0ceeb618328..83ee5f093ac0 100644 --- a/drivers/gpu/drm/rockchip/rk618/rk618_lvds.c +++ b/drivers/gpu/drm/rockchip/rk618/rk618_lvds.c @@ -241,6 +241,7 @@ static int rk618_lvds_probe(struct platform_device *pdev) lvds->dev = dev; lvds->parent = rk618; + lvds->regmap = rk618->regmap; platform_set_drvdata(pdev, lvds); ret = rk618_lvds_parse_dt(lvds); @@ -249,10 +250,6 @@ static int rk618_lvds_probe(struct platform_device *pdev) return ret; } - lvds->regmap = dev_get_regmap(dev->parent, NULL); - if (!lvds->regmap) - return -ENODEV; - endpoint = of_graph_get_endpoint_by_regs(dev->of_node, 1, -1); if (endpoint) { struct device_node *remote; diff --git a/drivers/gpu/drm/rockchip/rk618/rk618_rgb.c b/drivers/gpu/drm/rockchip/rk618/rk618_rgb.c index a0187935008f..00b94f2ac93b 100644 --- a/drivers/gpu/drm/rockchip/rk618/rk618_rgb.c +++ b/drivers/gpu/drm/rockchip/rk618/rk618_rgb.c @@ -227,12 +227,9 @@ static int rk618_rgb_probe(struct platform_device *pdev) rgb->dev = dev; rgb->parent = rk618; + rgb->regmap = rk618->regmap; platform_set_drvdata(pdev, rgb); - rgb->regmap = dev_get_regmap(dev->parent, NULL); - if (!rgb->regmap) - return -ENODEV; - rgb->clock = devm_clk_get(dev, "rgb"); if (IS_ERR(rgb->clock)) { ret = PTR_ERR(rgb->clock); diff --git a/drivers/gpu/drm/rockchip/rk618/rk618_scaler.c b/drivers/gpu/drm/rockchip/rk618/rk618_scaler.c index c59da7bc4872..d2c9c1cb2fb8 100644 --- a/drivers/gpu/drm/rockchip/rk618/rk618_scaler.c +++ b/drivers/gpu/drm/rockchip/rk618/rk618_scaler.c @@ -350,6 +350,7 @@ static const struct drm_bridge_funcs rk618_scaler_bridge_funcs = { static int rk618_scaler_probe(struct platform_device *pdev) { + struct rk618 *rk618 = dev_get_drvdata(pdev->dev.parent); struct device *dev = &pdev->dev; struct rk618_scaler *scl; int ret; @@ -362,12 +363,9 @@ static int rk618_scaler_probe(struct platform_device *pdev) return -ENOMEM; scl->dev = dev; + scl->regmap = rk618->regmap; platform_set_drvdata(pdev, scl); - scl->regmap = dev_get_regmap(dev->parent, NULL); - if (!scl->regmap) - return -ENODEV; - scl->vif_clk = devm_clk_get(dev, "vif"); if (IS_ERR(scl->vif_clk)) { ret = PTR_ERR(scl->vif_clk); diff --git a/drivers/gpu/drm/rockchip/rk618/rk618_vif.c b/drivers/gpu/drm/rockchip/rk618/rk618_vif.c index a6f2203ed806..ca13750536fc 100644 --- a/drivers/gpu/drm/rockchip/rk618/rk618_vif.c +++ b/drivers/gpu/drm/rockchip/rk618/rk618_vif.c @@ -193,6 +193,7 @@ static const struct drm_bridge_funcs rk618_vif_bridge_funcs = { static int rk618_vif_probe(struct platform_device *pdev) { + struct rk618 *rk618 = dev_get_drvdata(pdev->dev.parent); struct device *dev = &pdev->dev; struct rk618_vif *vif; int ret; @@ -205,12 +206,9 @@ static int rk618_vif_probe(struct platform_device *pdev) return -ENOMEM; vif->dev = dev; + vif->regmap = rk618->regmap; platform_set_drvdata(pdev, vif); - vif->regmap = dev_get_regmap(dev->parent, NULL); - if (!vif->regmap) - return -ENODEV; - vif->vif_clk = devm_clk_get(dev, "vif"); if (IS_ERR(vif->vif_clk)) { ret = PTR_ERR(vif->vif_clk);