aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoralf Trønnes <noralf@tronnes.org>2019-02-08 09:01:03 -0500
committerNoralf Trønnes <noralf@tronnes.org>2019-02-21 06:11:58 -0500
commitba3bf37e150a99b51b13f5cebf89715685d21212 (patch)
tree147d6bf0351032fbbf4a7c314f2f77493b9e7c37
parent1ee57d4d75fbc74bb2ae601c8f334219165ef276 (diff)
drm/drv: drm_dev_unplug(): Move out drm_dev_put() call
This makes it possible to use drm_dev_unplug() with the upcoming devm_drm_dev_init() which will do drm_dev_put() in its release callback. Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Christian König <christian.koenig@amd.com> Cc: David (ChunMing) Zhou <David1.Zhou@amd.com> Cc: Dave Airlie <airlied@redhat.com> Cc: Sean Paul <sean@poorly.run> Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Acked-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20190208140103.28919-3-noralf@tronnes.org
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c1
-rw-r--r--drivers/gpu/drm/drm_drv.c1
-rw-r--r--drivers/gpu/drm/udl/udl_drv.c1
-rw-r--r--drivers/gpu/drm/xen/xen_drm_front.c1
4 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 7f3aa7b7e1d8..a9b3a4a9726a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -973,6 +973,7 @@ amdgpu_pci_remove(struct pci_dev *pdev)
973 973
974 DRM_ERROR("Device removal is currently not supported outside of fbcon\n"); 974 DRM_ERROR("Device removal is currently not supported outside of fbcon\n");
975 drm_dev_unplug(dev); 975 drm_dev_unplug(dev);
976 drm_dev_put(dev);
976 pci_disable_device(pdev); 977 pci_disable_device(pdev);
977 pci_set_drvdata(pdev, NULL); 978 pci_set_drvdata(pdev, NULL);
978} 979}
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index f2d5a41b61f7..53e8f4e103db 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -376,7 +376,6 @@ void drm_dev_unplug(struct drm_device *dev)
376 synchronize_srcu(&drm_unplug_srcu); 376 synchronize_srcu(&drm_unplug_srcu);
377 377
378 drm_dev_unregister(dev); 378 drm_dev_unregister(dev);
379 drm_dev_put(dev);
380} 379}
381EXPORT_SYMBOL(drm_dev_unplug); 380EXPORT_SYMBOL(drm_dev_unplug);
382 381
diff --git a/drivers/gpu/drm/udl/udl_drv.c b/drivers/gpu/drm/udl/udl_drv.c
index 22cd2d13e272..53b7b8c04bc6 100644
--- a/drivers/gpu/drm/udl/udl_drv.c
+++ b/drivers/gpu/drm/udl/udl_drv.c
@@ -107,6 +107,7 @@ static void udl_usb_disconnect(struct usb_interface *interface)
107 udl_fbdev_unplug(dev); 107 udl_fbdev_unplug(dev);
108 udl_drop_usb(dev); 108 udl_drop_usb(dev);
109 drm_dev_unplug(dev); 109 drm_dev_unplug(dev);
110 drm_dev_put(dev);
110} 111}
111 112
112/* 113/*
diff --git a/drivers/gpu/drm/xen/xen_drm_front.c b/drivers/gpu/drm/xen/xen_drm_front.c
index 3e78a832d7f9..84aa4d61dc42 100644
--- a/drivers/gpu/drm/xen/xen_drm_front.c
+++ b/drivers/gpu/drm/xen/xen_drm_front.c
@@ -582,6 +582,7 @@ static void xen_drm_drv_fini(struct xen_drm_front_info *front_info)
582 582
583 drm_kms_helper_poll_fini(dev); 583 drm_kms_helper_poll_fini(dev);
584 drm_dev_unplug(dev); 584 drm_dev_unplug(dev);
585 drm_dev_put(dev);
585 586
586 front_info->drm_info = NULL; 587 front_info->drm_info = NULL;
587 588