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

From: Rodrigo Siqueira
Date: Mon Mar 11 2019 - 14:00:17 EST


On 03/11, Daniel Vetter wrote:
> 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.

Thanks for your review :)

Should I send a V2 that also removes the drm_connector_unregister()? Or
should I send it in a separated patch?

Best Regards

> -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

--
Rodrigo Siqueira
https://siqueira.tech
Graduate Student
Department of Computer Science
University of São Paulo

Attachment: signature.asc
Description: PGP signature