Commit 102712a3 authored by Jeffy Chen's avatar Jeffy Chen Committed by Sean Paul

drm/rockchip: analogix_dp: Remove unnecessary init code

Remove unnecessary init code, since we would do it in the power_on()
callback.

Also move of parse code to probe().

Fixes: 9e32e16e ("drm: rockchip: dp: add rockchip platform dp driver")
Signed-off-by: default avatarJeffy Chen <jeffy.chen@rock-chips.com>
Acked-by: default avatarMark Yao <mark.yao@rock-chips.com>
Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20171019034812.13768-3-jeffy.chen@rock-chips.com
parent af0c8c10
...@@ -269,7 +269,7 @@ static struct drm_encoder_funcs rockchip_dp_encoder_funcs = { ...@@ -269,7 +269,7 @@ static struct drm_encoder_funcs rockchip_dp_encoder_funcs = {
.destroy = rockchip_dp_drm_encoder_destroy, .destroy = rockchip_dp_drm_encoder_destroy,
}; };
static int rockchip_dp_init(struct rockchip_dp_device *dp) static int rockchip_dp_of_probe(struct rockchip_dp_device *dp)
{ {
struct device *dev = dp->dev; struct device *dev = dp->dev;
struct device_node *np = dev->of_node; struct device_node *np = dev->of_node;
...@@ -303,19 +303,6 @@ static int rockchip_dp_init(struct rockchip_dp_device *dp) ...@@ -303,19 +303,6 @@ static int rockchip_dp_init(struct rockchip_dp_device *dp)
return PTR_ERR(dp->rst); return PTR_ERR(dp->rst);
} }
ret = clk_prepare_enable(dp->pclk);
if (ret < 0) {
DRM_DEV_ERROR(dp->dev, "failed to enable pclk %d\n", ret);
return ret;
}
ret = rockchip_dp_pre_init(dp);
if (ret < 0) {
DRM_DEV_ERROR(dp->dev, "failed to pre init %d\n", ret);
clk_disable_unprepare(dp->pclk);
return ret;
}
return 0; return 0;
} }
...@@ -361,10 +348,6 @@ static int rockchip_dp_bind(struct device *dev, struct device *master, ...@@ -361,10 +348,6 @@ static int rockchip_dp_bind(struct device *dev, struct device *master,
if (!dp_data) if (!dp_data)
return -ENODEV; return -ENODEV;
ret = rockchip_dp_init(dp);
if (ret < 0)
return ret;
dp->data = dp_data; dp->data = dp_data;
dp->drm_dev = drm_dev; dp->drm_dev = drm_dev;
...@@ -398,7 +381,6 @@ static void rockchip_dp_unbind(struct device *dev, struct device *master, ...@@ -398,7 +381,6 @@ static void rockchip_dp_unbind(struct device *dev, struct device *master,
rockchip_drm_psr_unregister(&dp->encoder); rockchip_drm_psr_unregister(&dp->encoder);
analogix_dp_unbind(dev, master, data); analogix_dp_unbind(dev, master, data);
clk_disable_unprepare(dp->pclk);
} }
static const struct component_ops rockchip_dp_component_ops = { static const struct component_ops rockchip_dp_component_ops = {
...@@ -414,7 +396,7 @@ static int rockchip_dp_probe(struct platform_device *pdev) ...@@ -414,7 +396,7 @@ static int rockchip_dp_probe(struct platform_device *pdev)
int ret; int ret;
ret = drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &panel, NULL); ret = drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &panel, NULL);
if (ret) if (ret < 0)
return ret; return ret;
dp = devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL); dp = devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL);
...@@ -422,9 +404,12 @@ static int rockchip_dp_probe(struct platform_device *pdev) ...@@ -422,9 +404,12 @@ static int rockchip_dp_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
dp->dev = dev; dp->dev = dev;
dp->plat_data.panel = panel; dp->plat_data.panel = panel;
ret = rockchip_dp_of_probe(dp);
if (ret < 0)
return ret;
/* /*
* We just use the drvdata until driver run into component * We just use the drvdata until driver run into component
* add function, and then we would set drvdata to null, so * add function, and then we would set drvdata to null, so
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment