imx_tve_bind() doesn't do anything more than calling imx_tve_register(). Merge the two functions into one. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> --- Changes since v1: - Split from patch "drm/imx: imx-tve: use drm managed resources". --- drivers/gpu/drm/imx/imx-tve.c | 58 ++++++++++++++++------------------- 1 file changed, 26 insertions(+), 32 deletions(-) diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c index 044730b95120..aa1c2ab34170 100644 --- a/drivers/gpu/drm/imx/imx-tve.c +++ b/drivers/gpu/drm/imx/imx-tve.c @@ -428,37 +428,6 @@ static int tve_clk_init(struct imx_tve *tve, void __iomem *base) return 0; } -static int imx_tve_register(struct drm_device *drm, struct imx_tve *tve) -{ - struct drm_encoder *encoder = &tve->encoder; - struct drm_connector *connector = &tve->connector; - int encoder_type; - int ret; - - encoder_type = tve->mode == TVE_MODE_VGA ? - DRM_MODE_ENCODER_DAC : DRM_MODE_ENCODER_TVDAC; - - memset(connector, 0, sizeof(*connector)); - memset(encoder, 0, sizeof(*encoder)); - - ret = imx_drm_encoder_parse_of(drm, encoder, tve->dev->of_node); - if (ret) - return ret; - - drm_encoder_helper_add(encoder, &imx_tve_encoder_helper_funcs); - drm_simple_encoder_init(drm, encoder, encoder_type); - - drm_connector_helper_add(connector, &imx_tve_connector_helper_funcs); - drm_connector_init_with_ddc(drm, connector, - &imx_tve_connector_funcs, - DRM_MODE_CONNECTOR_VGA, - tve->ddc); - - drm_connector_attach_encoder(connector, encoder); - - return 0; -} - static void imx_tve_disable_regulator(void *data) { struct imx_tve *tve = data; @@ -508,8 +477,33 @@ static int imx_tve_bind(struct device *dev, struct device *master, void *data) { struct drm_device *drm = data; struct imx_tve *tve = dev_get_drvdata(dev); + struct drm_encoder *encoder = &tve->encoder; + struct drm_connector *connector = &tve->connector; + int encoder_type; + int ret; + + encoder_type = tve->mode == TVE_MODE_VGA ? + DRM_MODE_ENCODER_DAC : DRM_MODE_ENCODER_TVDAC; + + memset(connector, 0, sizeof(*connector)); + memset(encoder, 0, sizeof(*encoder)); - return imx_tve_register(drm, tve); + ret = imx_drm_encoder_parse_of(drm, encoder, tve->dev->of_node); + if (ret) + return ret; + + drm_encoder_helper_add(encoder, &imx_tve_encoder_helper_funcs); + drm_simple_encoder_init(drm, encoder, encoder_type); + + drm_connector_helper_add(connector, &imx_tve_connector_helper_funcs); + drm_connector_init_with_ddc(drm, connector, + &imx_tve_connector_funcs, + DRM_MODE_CONNECTOR_VGA, + tve->ddc); + + drm_connector_attach_encoder(connector, encoder); + + return 0; } static const struct component_ops imx_tve_ops = { -- 2.20.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel