diff options
33 files changed, 39 insertions, 73 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 54ac8a845e9f..7077ed65d403 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -1711,7 +1711,7 @@ extern const struct drm_ioctl_desc amdgpu_ioctls_kms[]; | |||
1711 | extern const int amdgpu_max_kms_ioctl; | 1711 | extern const int amdgpu_max_kms_ioctl; |
1712 | 1712 | ||
1713 | int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags); | 1713 | int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags); |
1714 | int amdgpu_driver_unload_kms(struct drm_device *dev); | 1714 | void amdgpu_driver_unload_kms(struct drm_device *dev); |
1715 | void amdgpu_driver_lastclose_kms(struct drm_device *dev); | 1715 | void amdgpu_driver_lastclose_kms(struct drm_device *dev); |
1716 | int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv); | 1716 | int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv); |
1717 | void amdgpu_driver_postclose_kms(struct drm_device *dev, | 1717 | void amdgpu_driver_postclose_kms(struct drm_device *dev, |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c index 9af87eaf8ee3..8aef25828888 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | |||
@@ -50,12 +50,12 @@ static inline bool amdgpu_has_atpx(void) { return false; } | |||
50 | * This is the main unload function for KMS (all asics). | 50 | * This is the main unload function for KMS (all asics). |
51 | * Returns 0 on success. | 51 | * Returns 0 on success. |
52 | */ | 52 | */ |
53 | int amdgpu_driver_unload_kms(struct drm_device *dev) | 53 | void amdgpu_driver_unload_kms(struct drm_device *dev) |
54 | { | 54 | { |
55 | struct amdgpu_device *adev = dev->dev_private; | 55 | struct amdgpu_device *adev = dev->dev_private; |
56 | 56 | ||
57 | if (adev == NULL) | 57 | if (adev == NULL) |
58 | return 0; | 58 | return; |
59 | 59 | ||
60 | if (adev->rmmio == NULL) | 60 | if (adev->rmmio == NULL) |
61 | goto done_free; | 61 | goto done_free; |
@@ -74,7 +74,6 @@ int amdgpu_driver_unload_kms(struct drm_device *dev) | |||
74 | done_free: | 74 | done_free: |
75 | kfree(adev); | 75 | kfree(adev); |
76 | dev->dev_private = NULL; | 76 | dev->dev_private = NULL; |
77 | return 0; | ||
78 | } | 77 | } |
79 | 78 | ||
80 | /** | 79 | /** |
diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h index 6f3b6f50cf52..1051181d8c0d 100644 --- a/drivers/gpu/drm/ast/ast_drv.h +++ b/drivers/gpu/drm/ast/ast_drv.h | |||
@@ -122,7 +122,7 @@ struct ast_private { | |||
122 | }; | 122 | }; |
123 | 123 | ||
124 | int ast_driver_load(struct drm_device *dev, unsigned long flags); | 124 | int ast_driver_load(struct drm_device *dev, unsigned long flags); |
125 | int ast_driver_unload(struct drm_device *dev); | 125 | void ast_driver_unload(struct drm_device *dev); |
126 | 126 | ||
127 | struct ast_gem_object; | 127 | struct ast_gem_object; |
128 | 128 | ||
diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c index d85af0ff2653..5b59888426cf 100644 --- a/drivers/gpu/drm/ast/ast_main.c +++ b/drivers/gpu/drm/ast/ast_main.c | |||
@@ -476,7 +476,7 @@ out_free: | |||
476 | return ret; | 476 | return ret; |
477 | } | 477 | } |
478 | 478 | ||
479 | int ast_driver_unload(struct drm_device *dev) | 479 | void ast_driver_unload(struct drm_device *dev) |
480 | { | 480 | { |
481 | struct ast_private *ast = dev->dev_private; | 481 | struct ast_private *ast = dev->dev_private; |
482 | 482 | ||
@@ -489,7 +489,6 @@ int ast_driver_unload(struct drm_device *dev) | |||
489 | pci_iounmap(dev->pdev, ast->ioregs); | 489 | pci_iounmap(dev->pdev, ast->ioregs); |
490 | pci_iounmap(dev->pdev, ast->regs); | 490 | pci_iounmap(dev->pdev, ast->regs); |
491 | kfree(ast); | 491 | kfree(ast); |
492 | return 0; | ||
493 | } | 492 | } |
494 | 493 | ||
495 | int ast_gem_create(struct drm_device *dev, | 494 | int ast_gem_create(struct drm_device *dev, |
diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 15a293e65b31..8a12b3f6fc66 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c | |||
@@ -19,7 +19,7 @@ MODULE_PARM_DESC(fbdev, "register fbdev device"); | |||
19 | /* ---------------------------------------------------------------------- */ | 19 | /* ---------------------------------------------------------------------- */ |
20 | /* drm interface */ | 20 | /* drm interface */ |
21 | 21 | ||
22 | static int bochs_unload(struct drm_device *dev) | 22 | static void bochs_unload(struct drm_device *dev) |
23 | { | 23 | { |
24 | struct bochs_device *bochs = dev->dev_private; | 24 | struct bochs_device *bochs = dev->dev_private; |
25 | 25 | ||
@@ -29,7 +29,6 @@ static int bochs_unload(struct drm_device *dev) | |||
29 | bochs_hw_fini(dev); | 29 | bochs_hw_fini(dev); |
30 | kfree(bochs); | 30 | kfree(bochs); |
31 | dev->dev_private = NULL; | 31 | dev->dev_private = NULL; |
32 | return 0; | ||
33 | } | 32 | } |
34 | 33 | ||
35 | static int bochs_load(struct drm_device *dev, unsigned long flags) | 34 | static int bochs_load(struct drm_device *dev, unsigned long flags) |
diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.h b/drivers/gpu/drm/cirrus/cirrus_drv.h index b59aeef4635a..8690352d96f7 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.h +++ b/drivers/gpu/drm/cirrus/cirrus_drv.h | |||
@@ -231,7 +231,7 @@ irqreturn_t cirrus_driver_irq_handler(int irq, void *arg); | |||
231 | 231 | ||
232 | /* cirrus_kms.c */ | 232 | /* cirrus_kms.c */ |
233 | int cirrus_driver_load(struct drm_device *dev, unsigned long flags); | 233 | int cirrus_driver_load(struct drm_device *dev, unsigned long flags); |
234 | int cirrus_driver_unload(struct drm_device *dev); | 234 | void cirrus_driver_unload(struct drm_device *dev); |
235 | extern struct drm_ioctl_desc cirrus_ioctls[]; | 235 | extern struct drm_ioctl_desc cirrus_ioctls[]; |
236 | extern int cirrus_max_ioctl; | 236 | extern int cirrus_max_ioctl; |
237 | 237 | ||
diff --git a/drivers/gpu/drm/cirrus/cirrus_main.c b/drivers/gpu/drm/cirrus/cirrus_main.c index 52d901fa8687..e7fc95f63dca 100644 --- a/drivers/gpu/drm/cirrus/cirrus_main.c +++ b/drivers/gpu/drm/cirrus/cirrus_main.c | |||
@@ -208,18 +208,17 @@ out: | |||
208 | return r; | 208 | return r; |
209 | } | 209 | } |
210 | 210 | ||
211 | int cirrus_driver_unload(struct drm_device *dev) | 211 | void cirrus_driver_unload(struct drm_device *dev) |
212 | { | 212 | { |
213 | struct cirrus_device *cdev = dev->dev_private; | 213 | struct cirrus_device *cdev = dev->dev_private; |
214 | 214 | ||
215 | if (cdev == NULL) | 215 | if (cdev == NULL) |
216 | return 0; | 216 | return; |
217 | cirrus_modeset_fini(cdev); | 217 | cirrus_modeset_fini(cdev); |
218 | cirrus_mm_fini(cdev); | 218 | cirrus_mm_fini(cdev); |
219 | cirrus_device_fini(cdev); | 219 | cirrus_device_fini(cdev); |
220 | kfree(cdev); | 220 | kfree(cdev); |
221 | dev->dev_private = NULL; | 221 | dev->dev_private = NULL; |
222 | return 0; | ||
223 | } | 222 | } |
224 | 223 | ||
225 | int cirrus_gem_create(struct drm_device *dev, | 224 | int cirrus_gem_create(struct drm_device *dev, |
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index 739180ac3da5..3ec053542e93 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c | |||
@@ -186,7 +186,7 @@ err_free_private: | |||
186 | return ret; | 186 | return ret; |
187 | } | 187 | } |
188 | 188 | ||
189 | static int exynos_drm_unload(struct drm_device *dev) | 189 | static void exynos_drm_unload(struct drm_device *dev) |
190 | { | 190 | { |
191 | exynos_drm_device_subdrv_remove(dev); | 191 | exynos_drm_device_subdrv_remove(dev); |
192 | 192 | ||
@@ -200,8 +200,6 @@ static int exynos_drm_unload(struct drm_device *dev) | |||
200 | 200 | ||
201 | kfree(dev->dev_private); | 201 | kfree(dev->dev_private); |
202 | dev->dev_private = NULL; | 202 | dev->dev_private = NULL; |
203 | |||
204 | return 0; | ||
205 | } | 203 | } |
206 | 204 | ||
207 | static int commit_is_pending(struct exynos_drm_private *priv, u32 crtcs) | 205 | static int commit_is_pending(struct exynos_drm_private *priv, u32 crtcs) |
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c index 9a31711d5158..48705248f894 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | |||
@@ -116,7 +116,7 @@ done: | |||
116 | return ret; | 116 | return ret; |
117 | } | 117 | } |
118 | 118 | ||
119 | static int fsl_dcu_unload(struct drm_device *dev) | 119 | static void fsl_dcu_unload(struct drm_device *dev) |
120 | { | 120 | { |
121 | struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; | 121 | struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; |
122 | 122 | ||
@@ -131,8 +131,6 @@ static int fsl_dcu_unload(struct drm_device *dev) | |||
131 | drm_irq_uninstall(dev); | 131 | drm_irq_uninstall(dev); |
132 | 132 | ||
133 | dev->dev_private = NULL; | 133 | dev->dev_private = NULL; |
134 | |||
135 | return 0; | ||
136 | } | 134 | } |
137 | 135 | ||
138 | static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg) | 136 | static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg) |
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c index ff37ea585664..0dc7ba2fdc22 100644 --- a/drivers/gpu/drm/gma500/psb_drv.c +++ b/drivers/gpu/drm/gma500/psb_drv.c | |||
@@ -159,7 +159,7 @@ static int psb_do_init(struct drm_device *dev) | |||
159 | return 0; | 159 | return 0; |
160 | } | 160 | } |
161 | 161 | ||
162 | static int psb_driver_unload(struct drm_device *dev) | 162 | static void psb_driver_unload(struct drm_device *dev) |
163 | { | 163 | { |
164 | struct drm_psb_private *dev_priv = dev->dev_private; | 164 | struct drm_psb_private *dev_priv = dev->dev_private; |
165 | 165 | ||
@@ -220,7 +220,6 @@ static int psb_driver_unload(struct drm_device *dev) | |||
220 | dev->dev_private = NULL; | 220 | dev->dev_private = NULL; |
221 | } | 221 | } |
222 | gma_power_uninit(dev); | 222 | gma_power_uninit(dev); |
223 | return 0; | ||
224 | } | 223 | } |
225 | 224 | ||
226 | static int psb_driver_load(struct drm_device *dev, unsigned long flags) | 225 | static int psb_driver_load(struct drm_device *dev, unsigned long flags) |
diff --git a/drivers/gpu/drm/mga/mga_dma.c b/drivers/gpu/drm/mga/mga_dma.c index 1f2f9ca25901..a1d8dd15b131 100644 --- a/drivers/gpu/drm/mga/mga_dma.c +++ b/drivers/gpu/drm/mga/mga_dma.c | |||
@@ -1127,12 +1127,10 @@ int mga_dma_buffers(struct drm_device *dev, void *data, | |||
1127 | /** | 1127 | /** |
1128 | * Called just before the module is unloaded. | 1128 | * Called just before the module is unloaded. |
1129 | */ | 1129 | */ |
1130 | int mga_driver_unload(struct drm_device *dev) | 1130 | void mga_driver_unload(struct drm_device *dev) |
1131 | { | 1131 | { |
1132 | kfree(dev->dev_private); | 1132 | kfree(dev->dev_private); |
1133 | dev->dev_private = NULL; | 1133 | dev->dev_private = NULL; |
1134 | |||
1135 | return 0; | ||
1136 | } | 1134 | } |
1137 | 1135 | ||
1138 | /** | 1136 | /** |
diff --git a/drivers/gpu/drm/mga/mga_drv.h b/drivers/gpu/drm/mga/mga_drv.h index bb312339e0b0..d5ce829b3199 100644 --- a/drivers/gpu/drm/mga/mga_drv.h +++ b/drivers/gpu/drm/mga/mga_drv.h | |||
@@ -166,7 +166,7 @@ extern int mga_dma_reset(struct drm_device *dev, void *data, | |||
166 | extern int mga_dma_buffers(struct drm_device *dev, void *data, | 166 | extern int mga_dma_buffers(struct drm_device *dev, void *data, |
167 | struct drm_file *file_priv); | 167 | struct drm_file *file_priv); |
168 | extern int mga_driver_load(struct drm_device *dev, unsigned long flags); | 168 | extern int mga_driver_load(struct drm_device *dev, unsigned long flags); |
169 | extern int mga_driver_unload(struct drm_device *dev); | 169 | extern void mga_driver_unload(struct drm_device *dev); |
170 | extern void mga_driver_lastclose(struct drm_device *dev); | 170 | extern void mga_driver_lastclose(struct drm_device *dev); |
171 | extern int mga_driver_dma_quiescent(struct drm_device *dev); | 171 | extern int mga_driver_dma_quiescent(struct drm_device *dev); |
172 | 172 | ||
diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.h b/drivers/gpu/drm/mgag200/mgag200_drv.h index 87e0934773de..0d6e998d63e6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.h +++ b/drivers/gpu/drm/mgag200/mgag200_drv.h | |||
@@ -258,7 +258,7 @@ int mgag200_framebuffer_init(struct drm_device *dev, | |||
258 | 258 | ||
259 | 259 | ||
260 | int mgag200_driver_load(struct drm_device *dev, unsigned long flags); | 260 | int mgag200_driver_load(struct drm_device *dev, unsigned long flags); |
261 | int mgag200_driver_unload(struct drm_device *dev); | 261 | void mgag200_driver_unload(struct drm_device *dev); |
262 | int mgag200_gem_create(struct drm_device *dev, | 262 | int mgag200_gem_create(struct drm_device *dev, |
263 | u32 size, bool iskernel, | 263 | u32 size, bool iskernel, |
264 | struct drm_gem_object **obj); | 264 | struct drm_gem_object **obj); |
diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index da8ba6c154e3..dce8a3eb5a10 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c | |||
@@ -264,18 +264,17 @@ err_mm: | |||
264 | return r; | 264 | return r; |
265 | } | 265 | } |
266 | 266 | ||
267 | int mgag200_driver_unload(struct drm_device *dev) | 267 | void mgag200_driver_unload(struct drm_device *dev) |
268 | { | 268 | { |
269 | struct mga_device *mdev = dev->dev_private; | 269 | struct mga_device *mdev = dev->dev_private; |
270 | 270 | ||
271 | if (mdev == NULL) | 271 | if (mdev == NULL) |
272 | return 0; | 272 | return; |
273 | mgag200_modeset_fini(mdev); | 273 | mgag200_modeset_fini(mdev); |
274 | mgag200_fbdev_fini(mdev); | 274 | mgag200_fbdev_fini(mdev); |
275 | drm_mode_config_cleanup(dev); | 275 | drm_mode_config_cleanup(dev); |
276 | mgag200_mm_fini(mdev); | 276 | mgag200_mm_fini(mdev); |
277 | dev->dev_private = NULL; | 277 | dev->dev_private = NULL; |
278 | return 0; | ||
279 | } | 278 | } |
280 | 279 | ||
281 | int mgag200_gem_create(struct drm_device *dev, | 280 | int mgag200_gem_create(struct drm_device *dev, |
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c index 59348fc41c77..dd7b52ab505a 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drm.c +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c | |||
@@ -502,7 +502,7 @@ fail_device: | |||
502 | return ret; | 502 | return ret; |
503 | } | 503 | } |
504 | 504 | ||
505 | static int | 505 | static void |
506 | nouveau_drm_unload(struct drm_device *dev) | 506 | nouveau_drm_unload(struct drm_device *dev) |
507 | { | 507 | { |
508 | struct nouveau_drm *drm = nouveau_drm(dev); | 508 | struct nouveau_drm *drm = nouveau_drm(dev); |
@@ -531,7 +531,6 @@ nouveau_drm_unload(struct drm_device *dev) | |||
531 | if (drm->hdmi_device) | 531 | if (drm->hdmi_device) |
532 | pci_dev_put(drm->hdmi_device); | 532 | pci_dev_put(drm->hdmi_device); |
533 | nouveau_cli_destroy(&drm->client); | 533 | nouveau_cli_destroy(&drm->client); |
534 | return 0; | ||
535 | } | 534 | } |
536 | 535 | ||
537 | void | 536 | void |
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c index fdc83cbcde61..4fd2e1799a88 100644 --- a/drivers/gpu/drm/omapdrm/omap_drv.c +++ b/drivers/gpu/drm/omapdrm/omap_drv.c | |||
@@ -694,7 +694,7 @@ static int dev_load(struct drm_device *dev, unsigned long flags) | |||
694 | return 0; | 694 | return 0; |
695 | } | 695 | } |
696 | 696 | ||
697 | static int dev_unload(struct drm_device *dev) | 697 | static void dev_unload(struct drm_device *dev) |
698 | { | 698 | { |
699 | struct omap_drm_private *priv = dev->dev_private; | 699 | struct omap_drm_private *priv = dev->dev_private; |
700 | 700 | ||
@@ -717,8 +717,6 @@ static int dev_unload(struct drm_device *dev) | |||
717 | dev->dev_private = NULL; | 717 | dev->dev_private = NULL; |
718 | 718 | ||
719 | dev_set_drvdata(dev->dev, NULL); | 719 | dev_set_drvdata(dev->dev, NULL); |
720 | |||
721 | return 0; | ||
722 | } | 720 | } |
723 | 721 | ||
724 | static int dev_open(struct drm_device *dev, struct drm_file *file) | 722 | static int dev_open(struct drm_device *dev, struct drm_file *file) |
diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h index f15ddd0eb85b..883d8639c04e 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.h +++ b/drivers/gpu/drm/qxl/qxl_drv.h | |||
@@ -337,7 +337,7 @@ extern const struct drm_ioctl_desc qxl_ioctls[]; | |||
337 | extern int qxl_max_ioctl; | 337 | extern int qxl_max_ioctl; |
338 | 338 | ||
339 | int qxl_driver_load(struct drm_device *dev, unsigned long flags); | 339 | int qxl_driver_load(struct drm_device *dev, unsigned long flags); |
340 | int qxl_driver_unload(struct drm_device *dev); | 340 | void qxl_driver_unload(struct drm_device *dev); |
341 | 341 | ||
342 | int qxl_modeset_init(struct qxl_device *qdev); | 342 | int qxl_modeset_init(struct qxl_device *qdev); |
343 | void qxl_modeset_fini(struct qxl_device *qdev); | 343 | void qxl_modeset_fini(struct qxl_device *qdev); |
diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c index af685f1d91f8..b2491407b616 100644 --- a/drivers/gpu/drm/qxl/qxl_kms.c +++ b/drivers/gpu/drm/qxl/qxl_kms.c | |||
@@ -285,12 +285,12 @@ static void qxl_device_fini(struct qxl_device *qdev) | |||
285 | qxl_debugfs_remove_files(qdev); | 285 | qxl_debugfs_remove_files(qdev); |
286 | } | 286 | } |
287 | 287 | ||
288 | int qxl_driver_unload(struct drm_device *dev) | 288 | void qxl_driver_unload(struct drm_device *dev) |
289 | { | 289 | { |
290 | struct qxl_device *qdev = dev->dev_private; | 290 | struct qxl_device *qdev = dev->dev_private; |
291 | 291 | ||
292 | if (qdev == NULL) | 292 | if (qdev == NULL) |
293 | return 0; | 293 | return; |
294 | 294 | ||
295 | drm_vblank_cleanup(dev); | 295 | drm_vblank_cleanup(dev); |
296 | 296 | ||
@@ -299,7 +299,6 @@ int qxl_driver_unload(struct drm_device *dev) | |||
299 | 299 | ||
300 | kfree(qdev); | 300 | kfree(qdev); |
301 | dev->dev_private = NULL; | 301 | dev->dev_private = NULL; |
302 | return 0; | ||
303 | } | 302 | } |
304 | 303 | ||
305 | int qxl_driver_load(struct drm_device *dev, unsigned long flags) | 304 | int qxl_driver_load(struct drm_device *dev, unsigned long flags) |
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index 00ea0002b539..af3bbe82fd48 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c | |||
@@ -102,7 +102,7 @@ | |||
102 | #define KMS_DRIVER_MINOR 48 | 102 | #define KMS_DRIVER_MINOR 48 |
103 | #define KMS_DRIVER_PATCHLEVEL 0 | 103 | #define KMS_DRIVER_PATCHLEVEL 0 |
104 | int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags); | 104 | int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags); |
105 | int radeon_driver_unload_kms(struct drm_device *dev); | 105 | void radeon_driver_unload_kms(struct drm_device *dev); |
106 | void radeon_driver_lastclose_kms(struct drm_device *dev); | 106 | void radeon_driver_lastclose_kms(struct drm_device *dev); |
107 | int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv); | 107 | int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv); |
108 | void radeon_driver_postclose_kms(struct drm_device *dev, | 108 | void radeon_driver_postclose_kms(struct drm_device *dev, |
diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c index 4388ddeec8d2..116cf0d23595 100644 --- a/drivers/gpu/drm/radeon/radeon_kms.c +++ b/drivers/gpu/drm/radeon/radeon_kms.c | |||
@@ -53,12 +53,12 @@ static inline bool radeon_has_atpx(void) { return false; } | |||
53 | * the rest of the device (CP, writeback, etc.). | 53 | * the rest of the device (CP, writeback, etc.). |
54 | * Returns 0 on success. | 54 | * Returns 0 on success. |
55 | */ | 55 | */ |
56 | int radeon_driver_unload_kms(struct drm_device *dev) | 56 | void radeon_driver_unload_kms(struct drm_device *dev) |
57 | { | 57 | { |
58 | struct radeon_device *rdev = dev->dev_private; | 58 | struct radeon_device *rdev = dev->dev_private; |
59 | 59 | ||
60 | if (rdev == NULL) | 60 | if (rdev == NULL) |
61 | return 0; | 61 | return; |
62 | 62 | ||
63 | if (rdev->rmmio == NULL) | 63 | if (rdev->rmmio == NULL) |
64 | goto done_free; | 64 | goto done_free; |
@@ -78,7 +78,6 @@ int radeon_driver_unload_kms(struct drm_device *dev) | |||
78 | done_free: | 78 | done_free: |
79 | kfree(rdev); | 79 | kfree(rdev); |
80 | dev->dev_private = NULL; | 80 | dev->dev_private = NULL; |
81 | return 0; | ||
82 | } | 81 | } |
83 | 82 | ||
84 | /** | 83 | /** |
diff --git a/drivers/gpu/drm/savage/savage_bci.c b/drivers/gpu/drm/savage/savage_bci.c index d47dff95fe52..2a5b8466d806 100644 --- a/drivers/gpu/drm/savage/savage_bci.c +++ b/drivers/gpu/drm/savage/savage_bci.c | |||
@@ -655,13 +655,11 @@ void savage_driver_lastclose(struct drm_device *dev) | |||
655 | } | 655 | } |
656 | } | 656 | } |
657 | 657 | ||
658 | int savage_driver_unload(struct drm_device *dev) | 658 | void savage_driver_unload(struct drm_device *dev) |
659 | { | 659 | { |
660 | drm_savage_private_t *dev_priv = dev->dev_private; | 660 | drm_savage_private_t *dev_priv = dev->dev_private; |
661 | 661 | ||
662 | kfree(dev_priv); | 662 | kfree(dev_priv); |
663 | |||
664 | return 0; | ||
665 | } | 663 | } |
666 | 664 | ||
667 | static int savage_do_init_bci(struct drm_device * dev, drm_savage_init_t * init) | 665 | static int savage_do_init_bci(struct drm_device * dev, drm_savage_init_t * init) |
diff --git a/drivers/gpu/drm/savage/savage_drv.h b/drivers/gpu/drm/savage/savage_drv.h index 37b699571ad0..44a1009b6ecb 100644 --- a/drivers/gpu/drm/savage/savage_drv.h +++ b/drivers/gpu/drm/savage/savage_drv.h | |||
@@ -210,7 +210,7 @@ extern uint32_t *savage_dma_alloc(drm_savage_private_t * dev_priv, | |||
210 | extern int savage_driver_load(struct drm_device *dev, unsigned long chipset); | 210 | extern int savage_driver_load(struct drm_device *dev, unsigned long chipset); |
211 | extern int savage_driver_firstopen(struct drm_device *dev); | 211 | extern int savage_driver_firstopen(struct drm_device *dev); |
212 | extern void savage_driver_lastclose(struct drm_device *dev); | 212 | extern void savage_driver_lastclose(struct drm_device *dev); |
213 | extern int savage_driver_unload(struct drm_device *dev); | 213 | extern void savage_driver_unload(struct drm_device *dev); |
214 | extern void savage_reclaim_buffers(struct drm_device *dev, | 214 | extern void savage_reclaim_buffers(struct drm_device *dev, |
215 | struct drm_file *file_priv); | 215 | struct drm_file *file_priv); |
216 | 216 | ||
diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c index 38dd55f4af81..33cec3d42389 100644 --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c | |||
@@ -104,7 +104,7 @@ static int shmob_drm_setup_clocks(struct shmob_drm_device *sdev, | |||
104 | * DRM operations | 104 | * DRM operations |
105 | */ | 105 | */ |
106 | 106 | ||
107 | static int shmob_drm_unload(struct drm_device *dev) | 107 | static void shmob_drm_unload(struct drm_device *dev) |
108 | { | 108 | { |
109 | drm_kms_helper_poll_fini(dev); | 109 | drm_kms_helper_poll_fini(dev); |
110 | drm_mode_config_cleanup(dev); | 110 | drm_mode_config_cleanup(dev); |
@@ -112,8 +112,6 @@ static int shmob_drm_unload(struct drm_device *dev) | |||
112 | drm_irq_uninstall(dev); | 112 | drm_irq_uninstall(dev); |
113 | 113 | ||
114 | dev->dev_private = NULL; | 114 | dev->dev_private = NULL; |
115 | |||
116 | return 0; | ||
117 | } | 115 | } |
118 | 116 | ||
119 | static int shmob_drm_load(struct drm_device *dev, unsigned long flags) | 117 | static int shmob_drm_load(struct drm_device *dev, unsigned long flags) |
diff --git a/drivers/gpu/drm/sis/sis_drv.c b/drivers/gpu/drm/sis/sis_drv.c index a836451920f0..7f05da13ea5e 100644 --- a/drivers/gpu/drm/sis/sis_drv.c +++ b/drivers/gpu/drm/sis/sis_drv.c | |||
@@ -54,15 +54,13 @@ static int sis_driver_load(struct drm_device *dev, unsigned long chipset) | |||
54 | return 0; | 54 | return 0; |
55 | } | 55 | } |
56 | 56 | ||
57 | static int sis_driver_unload(struct drm_device *dev) | 57 | static void sis_driver_unload(struct drm_device *dev) |
58 | { | 58 | { |
59 | drm_sis_private_t *dev_priv = dev->dev_private; | 59 | drm_sis_private_t *dev_priv = dev->dev_private; |
60 | 60 | ||
61 | idr_destroy(&dev_priv->object_idr); | 61 | idr_destroy(&dev_priv->object_idr); |
62 | 62 | ||
63 | kfree(dev_priv); | 63 | kfree(dev_priv); |
64 | |||
65 | return 0; | ||
66 | } | 64 | } |
67 | 65 | ||
68 | static const struct file_operations sis_driver_fops = { | 66 | static const struct file_operations sis_driver_fops = { |
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 2817f43f3344..0f4eacb0af4f 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c | |||
@@ -214,7 +214,7 @@ free: | |||
214 | return err; | 214 | return err; |
215 | } | 215 | } |
216 | 216 | ||
217 | static int tegra_drm_unload(struct drm_device *drm) | 217 | static void tegra_drm_unload(struct drm_device *drm) |
218 | { | 218 | { |
219 | struct host1x_device *device = to_host1x_device(drm->dev); | 219 | struct host1x_device *device = to_host1x_device(drm->dev); |
220 | struct tegra_drm *tegra = drm->dev_private; | 220 | struct tegra_drm *tegra = drm->dev_private; |
@@ -227,7 +227,7 @@ static int tegra_drm_unload(struct drm_device *drm) | |||
227 | 227 | ||
228 | err = host1x_device_exit(device); | 228 | err = host1x_device_exit(device); |
229 | if (err < 0) | 229 | if (err < 0) |
230 | return err; | 230 | return; |
231 | 231 | ||
232 | if (tegra->domain) { | 232 | if (tegra->domain) { |
233 | iommu_domain_free(tegra->domain); | 233 | iommu_domain_free(tegra->domain); |
@@ -235,8 +235,6 @@ static int tegra_drm_unload(struct drm_device *drm) | |||
235 | } | 235 | } |
236 | 236 | ||
237 | kfree(tegra); | 237 | kfree(tegra); |
238 | |||
239 | return 0; | ||
240 | } | 238 | } |
241 | 239 | ||
242 | static int tegra_drm_open(struct drm_device *drm, struct drm_file *filp) | 240 | static int tegra_drm_open(struct drm_device *drm, struct drm_file *filp) |
diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h index f338a576efc8..6c4286e57362 100644 --- a/drivers/gpu/drm/udl/udl_drv.h +++ b/drivers/gpu/drm/udl/udl_drv.h | |||
@@ -100,7 +100,7 @@ int udl_submit_urb(struct drm_device *dev, struct urb *urb, size_t len); | |||
100 | void udl_urb_completion(struct urb *urb); | 100 | void udl_urb_completion(struct urb *urb); |
101 | 101 | ||
102 | int udl_driver_load(struct drm_device *dev, unsigned long flags); | 102 | int udl_driver_load(struct drm_device *dev, unsigned long flags); |
103 | int udl_driver_unload(struct drm_device *dev); | 103 | void udl_driver_unload(struct drm_device *dev); |
104 | 104 | ||
105 | int udl_fbdev_init(struct drm_device *dev); | 105 | int udl_fbdev_init(struct drm_device *dev); |
106 | void udl_fbdev_cleanup(struct drm_device *dev); | 106 | void udl_fbdev_cleanup(struct drm_device *dev); |
diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c index 873f010d9616..a9d93b871a15 100644 --- a/drivers/gpu/drm/udl/udl_main.c +++ b/drivers/gpu/drm/udl/udl_main.c | |||
@@ -367,7 +367,7 @@ int udl_drop_usb(struct drm_device *dev) | |||
367 | return 0; | 367 | return 0; |
368 | } | 368 | } |
369 | 369 | ||
370 | int udl_driver_unload(struct drm_device *dev) | 370 | void udl_driver_unload(struct drm_device *dev) |
371 | { | 371 | { |
372 | struct udl_device *udl = dev->dev_private; | 372 | struct udl_device *udl = dev->dev_private; |
373 | 373 | ||
@@ -379,5 +379,4 @@ int udl_driver_unload(struct drm_device *dev) | |||
379 | udl_fbdev_cleanup(dev); | 379 | udl_fbdev_cleanup(dev); |
380 | udl_modeset_cleanup(dev); | 380 | udl_modeset_cleanup(dev); |
381 | kfree(udl); | 381 | kfree(udl); |
382 | return 0; | ||
383 | } | 382 | } |
diff --git a/drivers/gpu/drm/via/via_drv.h b/drivers/gpu/drm/via/via_drv.h index 286a785fab4f..9873942ca8f4 100644 --- a/drivers/gpu/drm/via/via_drv.h +++ b/drivers/gpu/drm/via/via_drv.h | |||
@@ -134,7 +134,7 @@ extern int via_dma_blit_sync(struct drm_device *dev, void *data, struct drm_file | |||
134 | extern int via_dma_blit(struct drm_device *dev, void *data, struct drm_file *file_priv); | 134 | extern int via_dma_blit(struct drm_device *dev, void *data, struct drm_file *file_priv); |
135 | 135 | ||
136 | extern int via_driver_load(struct drm_device *dev, unsigned long chipset); | 136 | extern int via_driver_load(struct drm_device *dev, unsigned long chipset); |
137 | extern int via_driver_unload(struct drm_device *dev); | 137 | extern void via_driver_unload(struct drm_device *dev); |
138 | 138 | ||
139 | extern int via_init_context(struct drm_device *dev, int context); | 139 | extern int via_init_context(struct drm_device *dev, int context); |
140 | extern int via_final_context(struct drm_device *dev, int context); | 140 | extern int via_final_context(struct drm_device *dev, int context); |
diff --git a/drivers/gpu/drm/via/via_map.c b/drivers/gpu/drm/via/via_map.c index 0b3522dba6e8..2ad865870372 100644 --- a/drivers/gpu/drm/via/via_map.c +++ b/drivers/gpu/drm/via/via_map.c | |||
@@ -116,13 +116,11 @@ int via_driver_load(struct drm_device *dev, unsigned long chipset) | |||
116 | return 0; | 116 | return 0; |
117 | } | 117 | } |
118 | 118 | ||
119 | int via_driver_unload(struct drm_device *dev) | 119 | void via_driver_unload(struct drm_device *dev) |
120 | { | 120 | { |
121 | drm_via_private_t *dev_priv = dev->dev_private; | 121 | drm_via_private_t *dev_priv = dev->dev_private; |
122 | 122 | ||
123 | idr_destroy(&dev_priv->object_idr); | 123 | idr_destroy(&dev_priv->object_idr); |
124 | 124 | ||
125 | kfree(dev_priv); | 125 | kfree(dev_priv); |
126 | |||
127 | return 0; | ||
128 | } | 126 | } |
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h index 025f2e3d483f..2f766735c16d 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drv.h +++ b/drivers/gpu/drm/virtio/virtgpu_drv.h | |||
@@ -215,7 +215,7 @@ extern struct drm_ioctl_desc virtio_gpu_ioctls[DRM_VIRTIO_NUM_IOCTLS]; | |||
215 | 215 | ||
216 | /* virtio_kms.c */ | 216 | /* virtio_kms.c */ |
217 | int virtio_gpu_driver_load(struct drm_device *dev, unsigned long flags); | 217 | int virtio_gpu_driver_load(struct drm_device *dev, unsigned long flags); |
218 | int virtio_gpu_driver_unload(struct drm_device *dev); | 218 | void virtio_gpu_driver_unload(struct drm_device *dev); |
219 | int virtio_gpu_driver_open(struct drm_device *dev, struct drm_file *file); | 219 | int virtio_gpu_driver_open(struct drm_device *dev, struct drm_file *file); |
220 | void virtio_gpu_driver_postclose(struct drm_device *dev, struct drm_file *file); | 220 | void virtio_gpu_driver_postclose(struct drm_device *dev, struct drm_file *file); |
221 | 221 | ||
diff --git a/drivers/gpu/drm/virtio/virtgpu_kms.c b/drivers/gpu/drm/virtio/virtgpu_kms.c index 1235519853f4..fae75394b5d0 100644 --- a/drivers/gpu/drm/virtio/virtgpu_kms.c +++ b/drivers/gpu/drm/virtio/virtgpu_kms.c | |||
@@ -246,7 +246,7 @@ static void virtio_gpu_cleanup_cap_cache(struct virtio_gpu_device *vgdev) | |||
246 | } | 246 | } |
247 | } | 247 | } |
248 | 248 | ||
249 | int virtio_gpu_driver_unload(struct drm_device *dev) | 249 | void virtio_gpu_driver_unload(struct drm_device *dev) |
250 | { | 250 | { |
251 | struct virtio_gpu_device *vgdev = dev->dev_private; | 251 | struct virtio_gpu_device *vgdev = dev->dev_private; |
252 | 252 | ||
@@ -262,7 +262,6 @@ int virtio_gpu_driver_unload(struct drm_device *dev) | |||
262 | virtio_gpu_cleanup_cap_cache(vgdev); | 262 | virtio_gpu_cleanup_cap_cache(vgdev); |
263 | kfree(vgdev->capsets); | 263 | kfree(vgdev->capsets); |
264 | kfree(vgdev); | 264 | kfree(vgdev); |
265 | return 0; | ||
266 | } | 265 | } |
267 | 266 | ||
268 | int virtio_gpu_driver_open(struct drm_device *dev, struct drm_file *file) | 267 | int virtio_gpu_driver_open(struct drm_device *dev, struct drm_file *file) |
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index 18061a4bc2f2..be35385bb26c 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | |||
@@ -951,7 +951,7 @@ out_err0: | |||
951 | return ret; | 951 | return ret; |
952 | } | 952 | } |
953 | 953 | ||
954 | static int vmw_driver_unload(struct drm_device *dev) | 954 | static void vmw_driver_unload(struct drm_device *dev) |
955 | { | 955 | { |
956 | struct vmw_private *dev_priv = vmw_priv(dev); | 956 | struct vmw_private *dev_priv = vmw_priv(dev); |
957 | enum vmw_res_type i; | 957 | enum vmw_res_type i; |
@@ -998,8 +998,6 @@ static int vmw_driver_unload(struct drm_device *dev) | |||
998 | idr_destroy(&dev_priv->res_idr[i]); | 998 | idr_destroy(&dev_priv->res_idr[i]); |
999 | 999 | ||
1000 | kfree(dev_priv); | 1000 | kfree(dev_priv); |
1001 | |||
1002 | return 0; | ||
1003 | } | 1001 | } |
1004 | 1002 | ||
1005 | static void vmw_postclose(struct drm_device *dev, | 1003 | static void vmw_postclose(struct drm_device *dev, |
diff --git a/include/drm/drm_drv.h b/include/drm/drm_drv.h index 9c2d9f0bb043..34ece393c639 100644 --- a/include/drm/drm_drv.h +++ b/include/drm/drm_drv.h | |||
@@ -101,11 +101,8 @@ struct drm_driver { | |||
101 | * The unload() hook is called right after unregistering | 101 | * The unload() hook is called right after unregistering |
102 | * the device. | 102 | * the device. |
103 | * | 103 | * |
104 | * Returns: | ||
105 | * | ||
106 | * The return value is ignored. | ||
107 | */ | 104 | */ |
108 | int (*unload) (struct drm_device *); | 105 | void (*unload) (struct drm_device *); |
109 | int (*dma_ioctl) (struct drm_device *dev, void *data, struct drm_file *file_priv); | 106 | int (*dma_ioctl) (struct drm_device *dev, void *data, struct drm_file *file_priv); |
110 | int (*dma_quiescent) (struct drm_device *); | 107 | int (*dma_quiescent) (struct drm_device *); |
111 | int (*context_dtor) (struct drm_device *dev, int context); | 108 | int (*context_dtor) (struct drm_device *dev, int context); |