[PATCH] drm: Change the return type of the unload hook to void
Christian König
deathsimple at vodafone.de
Fri Jan 6 18:04:08 UTC 2017
Am 06.01.2017 um 18:57 schrieb Gabriel Krisman Bertazi:
> The integer returned by the unload hook is ignored by the drm core, so
> let's make it void.
>
> This patch was created using the following Coccinelle semantic script
> (except for the declaration and comment in drm_drv.h):
>
> Compile-tested only.
>
> // <smpl>
> @ get_name @
> struct drm_driver drv;
> identifier fn;
> @@
> drv.unload = fn;
>
> @ replace_type @
> identifier get_name.fn;
> @@
> - int
> + void
> fn (...)
> {
> ...
> }
>
> @ remove_return_param @
> identifier get_name.fn;
> @@
> void fn (...)
> {
> <...
> if (...)
> return
> - ...
> ;
> ...>
> }
>
> @ drop_final_return @
> identifier get_name.fn;
> @@
> void fn (...)
> {
> ...
>
> - return 0;
> }
> // </smpl>
>
> Suggested-by: Daniel Vetter <daniel.vetter at intel.com>
> Signed-off-by: Gabriel Krisman Bertazi <krisman at collabora.co.uk>
Acked-by: Christian König <christian.koenig at amd.com>.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 5 ++---
> drivers/gpu/drm/ast/ast_drv.h | 2 +-
> drivers/gpu/drm/ast/ast_main.c | 3 +--
> drivers/gpu/drm/bochs/bochs_drv.c | 3 +--
> drivers/gpu/drm/cirrus/cirrus_drv.h | 2 +-
> drivers/gpu/drm/cirrus/cirrus_main.c | 5 ++---
> drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 +---
> drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 4 +---
> drivers/gpu/drm/gma500/psb_drv.c | 3 +--
> drivers/gpu/drm/mga/mga_dma.c | 4 +---
> drivers/gpu/drm/mga/mga_drv.h | 2 +-
> drivers/gpu/drm/mgag200/mgag200_drv.h | 2 +-
> drivers/gpu/drm/mgag200/mgag200_main.c | 5 ++---
> drivers/gpu/drm/nouveau/nouveau_drm.c | 3 +--
> drivers/gpu/drm/omapdrm/omap_drv.c | 4 +---
> drivers/gpu/drm/qxl/qxl_drv.h | 2 +-
> drivers/gpu/drm/qxl/qxl_kms.c | 5 ++---
> drivers/gpu/drm/radeon/radeon_drv.c | 2 +-
> drivers/gpu/drm/radeon/radeon_kms.c | 5 ++---
> drivers/gpu/drm/savage/savage_bci.c | 4 +---
> drivers/gpu/drm/savage/savage_drv.h | 2 +-
> drivers/gpu/drm/shmobile/shmob_drm_drv.c | 4 +---
> drivers/gpu/drm/sis/sis_drv.c | 4 +---
> drivers/gpu/drm/tegra/drm.c | 6 ++----
> drivers/gpu/drm/udl/udl_drv.h | 2 +-
> drivers/gpu/drm/udl/udl_main.c | 3 +--
> drivers/gpu/drm/via/via_drv.h | 2 +-
> drivers/gpu/drm/via/via_map.c | 4 +---
> drivers/gpu/drm/virtio/virtgpu_drv.h | 2 +-
> drivers/gpu/drm/virtio/virtgpu_kms.c | 3 +--
> drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 4 +---
> include/drm/drm_drv.h | 5 +----
> 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[];
> extern const int amdgpu_max_kms_ioctl;
>
> int amdgpu_driver_load_kms(struct drm_device *dev, unsigned long flags);
> -int amdgpu_driver_unload_kms(struct drm_device *dev);
> +void amdgpu_driver_unload_kms(struct drm_device *dev);
> void amdgpu_driver_lastclose_kms(struct drm_device *dev);
> int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv);
> 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; }
> * This is the main unload function for KMS (all asics).
> * Returns 0 on success.
> */
> -int amdgpu_driver_unload_kms(struct drm_device *dev)
> +void amdgpu_driver_unload_kms(struct drm_device *dev)
> {
> struct amdgpu_device *adev = dev->dev_private;
>
> if (adev == NULL)
> - return 0;
> + return;
>
> if (adev->rmmio == NULL)
> goto done_free;
> @@ -74,7 +74,6 @@ int amdgpu_driver_unload_kms(struct drm_device *dev)
> done_free:
> kfree(adev);
> dev->dev_private = NULL;
> - return 0;
> }
>
> /**
> 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 {
> };
>
> int ast_driver_load(struct drm_device *dev, unsigned long flags);
> -int ast_driver_unload(struct drm_device *dev);
> +void ast_driver_unload(struct drm_device *dev);
>
> struct ast_gem_object;
>
> 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 @@ int ast_driver_load(struct drm_device *dev, unsigned long flags)
> return ret;
> }
>
> -int ast_driver_unload(struct drm_device *dev)
> +void ast_driver_unload(struct drm_device *dev)
> {
> struct ast_private *ast = dev->dev_private;
>
> @@ -489,7 +489,6 @@ int ast_driver_unload(struct drm_device *dev)
> pci_iounmap(dev->pdev, ast->ioregs);
> pci_iounmap(dev->pdev, ast->regs);
> kfree(ast);
> - return 0;
> }
>
> 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");
> /* ---------------------------------------------------------------------- */
> /* drm interface */
>
> -static int bochs_unload(struct drm_device *dev)
> +static void bochs_unload(struct drm_device *dev)
> {
> struct bochs_device *bochs = dev->dev_private;
>
> @@ -29,7 +29,6 @@ static int bochs_unload(struct drm_device *dev)
> bochs_hw_fini(dev);
> kfree(bochs);
> dev->dev_private = NULL;
> - return 0;
> }
>
> 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);
>
> /* cirrus_kms.c */
> int cirrus_driver_load(struct drm_device *dev, unsigned long flags);
> -int cirrus_driver_unload(struct drm_device *dev);
> +void cirrus_driver_unload(struct drm_device *dev);
> extern struct drm_ioctl_desc cirrus_ioctls[];
> extern int cirrus_max_ioctl;
>
> 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 @@ int cirrus_driver_load(struct drm_device *dev, unsigned long flags)
> return r;
> }
>
> -int cirrus_driver_unload(struct drm_device *dev)
> +void cirrus_driver_unload(struct drm_device *dev)
> {
> struct cirrus_device *cdev = dev->dev_private;
>
> if (cdev == NULL)
> - return 0;
> + return;
> cirrus_modeset_fini(cdev);
> cirrus_mm_fini(cdev);
> cirrus_device_fini(cdev);
> kfree(cdev);
> dev->dev_private = NULL;
> - return 0;
> }
>
> 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 44b4d07eefb5..9f1862d6e9ae 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> @@ -186,7 +186,7 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
> return ret;
> }
>
> -static int exynos_drm_unload(struct drm_device *dev)
> +static void exynos_drm_unload(struct drm_device *dev)
> {
> exynos_drm_device_subdrv_remove(dev);
>
> @@ -200,8 +200,6 @@ static int exynos_drm_unload(struct drm_device *dev)
>
> kfree(dev->dev_private);
> dev->dev_private = NULL;
> -
> - return 0;
> }
>
> 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 @@ static int fsl_dcu_load(struct drm_device *dev, unsigned long flags)
> return ret;
> }
>
> -static int fsl_dcu_unload(struct drm_device *dev)
> +static void fsl_dcu_unload(struct drm_device *dev)
> {
> struct fsl_dcu_drm_device *fsl_dev = dev->dev_private;
>
> @@ -131,8 +131,6 @@ static int fsl_dcu_unload(struct drm_device *dev)
> drm_irq_uninstall(dev);
>
> dev->dev_private = NULL;
> -
> - return 0;
> }
>
> 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)
> return 0;
> }
>
> -static int psb_driver_unload(struct drm_device *dev)
> +static void psb_driver_unload(struct drm_device *dev)
> {
> struct drm_psb_private *dev_priv = dev->dev_private;
>
> @@ -220,7 +220,6 @@ static int psb_driver_unload(struct drm_device *dev)
> dev->dev_private = NULL;
> }
> gma_power_uninit(dev);
> - return 0;
> }
>
> 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,
> /**
> * Called just before the module is unloaded.
> */
> -int mga_driver_unload(struct drm_device *dev)
> +void mga_driver_unload(struct drm_device *dev)
> {
> kfree(dev->dev_private);
> dev->dev_private = NULL;
> -
> - return 0;
> }
>
> /**
> 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,
> extern int mga_dma_buffers(struct drm_device *dev, void *data,
> struct drm_file *file_priv);
> extern int mga_driver_load(struct drm_device *dev, unsigned long flags);
> -extern int mga_driver_unload(struct drm_device *dev);
> +extern void mga_driver_unload(struct drm_device *dev);
> extern void mga_driver_lastclose(struct drm_device *dev);
> extern int mga_driver_dma_quiescent(struct drm_device *dev);
>
> 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,
>
>
> int mgag200_driver_load(struct drm_device *dev, unsigned long flags);
> -int mgag200_driver_unload(struct drm_device *dev);
> +void mgag200_driver_unload(struct drm_device *dev);
> int mgag200_gem_create(struct drm_device *dev,
> u32 size, bool iskernel,
> 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 @@ int mgag200_driver_load(struct drm_device *dev, unsigned long flags)
> return r;
> }
>
> -int mgag200_driver_unload(struct drm_device *dev)
> +void mgag200_driver_unload(struct drm_device *dev)
> {
> struct mga_device *mdev = dev->dev_private;
>
> if (mdev == NULL)
> - return 0;
> + return;
> mgag200_modeset_fini(mdev);
> mgag200_fbdev_fini(mdev);
> drm_mode_config_cleanup(dev);
> mgag200_mm_fini(mdev);
> dev->dev_private = NULL;
> - return 0;
> }
>
> 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 @@ nouveau_drm_load(struct drm_device *dev, unsigned long flags)
> return ret;
> }
>
> -static int
> +static void
> nouveau_drm_unload(struct drm_device *dev)
> {
> struct nouveau_drm *drm = nouveau_drm(dev);
> @@ -531,7 +531,6 @@ nouveau_drm_unload(struct drm_device *dev)
> if (drm->hdmi_device)
> pci_dev_put(drm->hdmi_device);
> nouveau_cli_destroy(&drm->client);
> - return 0;
> }
>
> 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)
> return 0;
> }
>
> -static int dev_unload(struct drm_device *dev)
> +static void dev_unload(struct drm_device *dev)
> {
> struct omap_drm_private *priv = dev->dev_private;
>
> @@ -717,8 +717,6 @@ static int dev_unload(struct drm_device *dev)
> dev->dev_private = NULL;
>
> dev_set_drvdata(dev->dev, NULL);
> -
> - return 0;
> }
>
> 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[];
> extern int qxl_max_ioctl;
>
> int qxl_driver_load(struct drm_device *dev, unsigned long flags);
> -int qxl_driver_unload(struct drm_device *dev);
> +void qxl_driver_unload(struct drm_device *dev);
>
> int qxl_modeset_init(struct qxl_device *qdev);
> 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)
> qxl_debugfs_remove_files(qdev);
> }
>
> -int qxl_driver_unload(struct drm_device *dev)
> +void qxl_driver_unload(struct drm_device *dev)
> {
> struct qxl_device *qdev = dev->dev_private;
>
> if (qdev == NULL)
> - return 0;
> + return;
>
> drm_vblank_cleanup(dev);
>
> @@ -299,7 +299,6 @@ int qxl_driver_unload(struct drm_device *dev)
>
> kfree(qdev);
> dev->dev_private = NULL;
> - return 0;
> }
>
> 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 @@
> #define KMS_DRIVER_MINOR 48
> #define KMS_DRIVER_PATCHLEVEL 0
> int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags);
> -int radeon_driver_unload_kms(struct drm_device *dev);
> +void radeon_driver_unload_kms(struct drm_device *dev);
> void radeon_driver_lastclose_kms(struct drm_device *dev);
> int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv);
> 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; }
> * the rest of the device (CP, writeback, etc.).
> * Returns 0 on success.
> */
> -int radeon_driver_unload_kms(struct drm_device *dev)
> +void radeon_driver_unload_kms(struct drm_device *dev)
> {
> struct radeon_device *rdev = dev->dev_private;
>
> if (rdev == NULL)
> - return 0;
> + return;
>
> if (rdev->rmmio == NULL)
> goto done_free;
> @@ -78,7 +78,6 @@ int radeon_driver_unload_kms(struct drm_device *dev)
> done_free:
> kfree(rdev);
> dev->dev_private = NULL;
> - return 0;
> }
>
> /**
> 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)
> }
> }
>
> -int savage_driver_unload(struct drm_device *dev)
> +void savage_driver_unload(struct drm_device *dev)
> {
> drm_savage_private_t *dev_priv = dev->dev_private;
>
> kfree(dev_priv);
> -
> - return 0;
> }
>
> 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,
> extern int savage_driver_load(struct drm_device *dev, unsigned long chipset);
> extern int savage_driver_firstopen(struct drm_device *dev);
> extern void savage_driver_lastclose(struct drm_device *dev);
> -extern int savage_driver_unload(struct drm_device *dev);
> +extern void savage_driver_unload(struct drm_device *dev);
> extern void savage_reclaim_buffers(struct drm_device *dev,
> struct drm_file *file_priv);
>
> 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,
> * DRM operations
> */
>
> -static int shmob_drm_unload(struct drm_device *dev)
> +static void shmob_drm_unload(struct drm_device *dev)
> {
> drm_kms_helper_poll_fini(dev);
> drm_mode_config_cleanup(dev);
> @@ -112,8 +112,6 @@ static int shmob_drm_unload(struct drm_device *dev)
> drm_irq_uninstall(dev);
>
> dev->dev_private = NULL;
> -
> - return 0;
> }
>
> 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)
> return 0;
> }
>
> -static int sis_driver_unload(struct drm_device *dev)
> +static void sis_driver_unload(struct drm_device *dev)
> {
> drm_sis_private_t *dev_priv = dev->dev_private;
>
> idr_destroy(&dev_priv->object_idr);
>
> kfree(dev_priv);
> -
> - return 0;
> }
>
> 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 @@ static int tegra_drm_load(struct drm_device *drm, unsigned long flags)
> return err;
> }
>
> -static int tegra_drm_unload(struct drm_device *drm)
> +static void tegra_drm_unload(struct drm_device *drm)
> {
> struct host1x_device *device = to_host1x_device(drm->dev);
> struct tegra_drm *tegra = drm->dev_private;
> @@ -227,7 +227,7 @@ static int tegra_drm_unload(struct drm_device *drm)
>
> err = host1x_device_exit(device);
> if (err < 0)
> - return err;
> + return;
>
> if (tegra->domain) {
> iommu_domain_free(tegra->domain);
> @@ -235,8 +235,6 @@ static int tegra_drm_unload(struct drm_device *drm)
> }
>
> kfree(tegra);
> -
> - return 0;
> }
>
> 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);
> void udl_urb_completion(struct urb *urb);
>
> int udl_driver_load(struct drm_device *dev, unsigned long flags);
> -int udl_driver_unload(struct drm_device *dev);
> +void udl_driver_unload(struct drm_device *dev);
>
> int udl_fbdev_init(struct drm_device *dev);
> 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)
> return 0;
> }
>
> -int udl_driver_unload(struct drm_device *dev)
> +void udl_driver_unload(struct drm_device *dev)
> {
> struct udl_device *udl = dev->dev_private;
>
> @@ -379,5 +379,4 @@ int udl_driver_unload(struct drm_device *dev)
> udl_fbdev_cleanup(dev);
> udl_modeset_cleanup(dev);
> kfree(udl);
> - return 0;
> }
> 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
> extern int via_dma_blit(struct drm_device *dev, void *data, struct drm_file *file_priv);
>
> extern int via_driver_load(struct drm_device *dev, unsigned long chipset);
> -extern int via_driver_unload(struct drm_device *dev);
> +extern void via_driver_unload(struct drm_device *dev);
>
> extern int via_init_context(struct drm_device *dev, int context);
> 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)
> return 0;
> }
>
> -int via_driver_unload(struct drm_device *dev)
> +void via_driver_unload(struct drm_device *dev)
> {
> drm_via_private_t *dev_priv = dev->dev_private;
>
> idr_destroy(&dev_priv->object_idr);
>
> kfree(dev_priv);
> -
> - return 0;
> }
> 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];
>
> /* virtio_kms.c */
> int virtio_gpu_driver_load(struct drm_device *dev, unsigned long flags);
> -int virtio_gpu_driver_unload(struct drm_device *dev);
> +void virtio_gpu_driver_unload(struct drm_device *dev);
> int virtio_gpu_driver_open(struct drm_device *dev, struct drm_file *file);
> void virtio_gpu_driver_postclose(struct drm_device *dev, struct drm_file *file);
>
> 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)
> }
> }
>
> -int virtio_gpu_driver_unload(struct drm_device *dev)
> +void virtio_gpu_driver_unload(struct drm_device *dev)
> {
> struct virtio_gpu_device *vgdev = dev->dev_private;
>
> @@ -262,7 +262,6 @@ int virtio_gpu_driver_unload(struct drm_device *dev)
> virtio_gpu_cleanup_cap_cache(vgdev);
> kfree(vgdev->capsets);
> kfree(vgdev);
> - return 0;
> }
>
> 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 @@ static int vmw_driver_load(struct drm_device *dev, unsigned long chipset)
> return ret;
> }
>
> -static int vmw_driver_unload(struct drm_device *dev)
> +static void vmw_driver_unload(struct drm_device *dev)
> {
> struct vmw_private *dev_priv = vmw_priv(dev);
> enum vmw_res_type i;
> @@ -998,8 +998,6 @@ static int vmw_driver_unload(struct drm_device *dev)
> idr_destroy(&dev_priv->res_idr[i]);
>
> kfree(dev_priv);
> -
> - return 0;
> }
>
> 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 {
> * The unload() hook is called right after unregistering
> * the device.
> *
> - * Returns:
> - *
> - * The return value is ignored.
> */
> - int (*unload) (struct drm_device *);
> + void (*unload) (struct drm_device *);
> int (*dma_ioctl) (struct drm_device *dev, void *data, struct drm_file *file_priv);
> int (*dma_quiescent) (struct drm_device *);
> int (*context_dtor) (struct drm_device *dev, int context);
More information about the dri-devel
mailing list