Re: [PATCH] drm/vkms: Remove useless call to drm_connector_register()

From: Daniel Vetter
Date: Mon Mar 11 2019 - 09:29:48 EST


On Sun, Mar 10, 2019 at 06:22:41PM -0300, Rodrigo Siqueira wrote:
> The function vkms_output_init() is invoked during the module
> initialization, and it handles the creation/configuration of the vkms
> essential elements (e.g., connectors, encoder, etc). Among the
> initializations, this function tries to initialize a connector and
> register it by calling drm_connector_register(). However, inside the
> drm_connector_register(), at the beginning of this function there is the
> following validation:
>
> if (!connector->dev->registered)
> return 0;
>
> In this sense, invoke drm_connector_register() after initializing the
> connector has no effect because the register field is false. The
> connector register happens when drm_dev_register() is invoked.
> Therefore, this commit removes the drm_connector_register() from
> vkms_output_init().
>
> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@xxxxxxxxx>
> ---
> drivers/gpu/drm/vkms/vkms_output.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c
> index 3b162b25312e..a6cee4c279c2 100644
> --- a/drivers/gpu/drm/vkms/vkms_output.c
> +++ b/drivers/gpu/drm/vkms/vkms_output.c
> @@ -71,12 +71,6 @@ int vkms_output_init(struct vkms_device *vkmsdev)
>
> drm_connector_helper_add(connector, &vkms_conn_helper_funcs);
>
> - ret = drm_connector_register(connector);

Yeah that's only needed for connectors added when hotplugging at runtime,
not for connectors which are created at driver load time.

Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>

btw same issue exists with the drm_connector_unregister, that's also not
needed.
-Daniel

> - if (ret) {
> - DRM_ERROR("Failed to register connector\n");
> - goto err_connector_register;
> - }
> -
> ret = drm_encoder_init(dev, encoder, &vkms_encoder_funcs,
> DRM_MODE_ENCODER_VIRTUAL, NULL);
> if (ret) {
> --
> 2.21.0

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch