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 <rodrigosiqueiram...@gmail.com>
---
 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);
-       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

Reply via email to