summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2016-12-12 11:28:47 +0200
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2017-02-17 15:23:14 +0200
commit8f1597c8f1a58830b67a033309e4b141ee99e379 (patch)
tree8133b567bc95d4998da169a96783061e787e19d3 /drivers/gpu/drm/shmobile/shmob_drm_crtc.c
parent9ca70356a9260403c1bda40d942935e55d00c11c (diff)
drm: shmobile: Perform initialization/cleanup at probe/remove time
The drm driver .load() operation is prone to race conditions as it initializes the driver after registering the device nodes. Its usage is deprecated, inline it in the probe function and call drm_dev_alloc() and drm_dev_register() explicitly. For consistency inline the .unload() handler in the remove function as well. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/shmobile/shmob_drm_crtc.c')
-rw-r--r--drivers/gpu/drm/shmobile/shmob_drm_crtc.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
index 445476551695..8fd1c0c798a1 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
@@ -692,13 +692,10 @@ int shmob_drm_connector_create(struct shmob_drm_device *sdev,
return ret;
drm_connector_helper_add(connector, &connector_helper_funcs);
- ret = drm_connector_register(connector);
- if (ret < 0)
- goto err_cleanup;
ret = shmob_drm_backlight_init(&sdev->connector);
if (ret < 0)
- goto err_sysfs;
+ goto err_cleanup;
ret = drm_mode_connector_attach_encoder(connector, encoder);
if (ret < 0)
@@ -712,8 +709,6 @@ int shmob_drm_connector_create(struct shmob_drm_device *sdev,
err_backlight:
shmob_drm_backlight_exit(&sdev->connector);
-err_sysfs:
- drm_connector_unregister(connector);
err_cleanup:
drm_connector_cleanup(connector);
return ret;