[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