Re: [PATCH 12/12] drm/legacy: remove some legacy lock struct members

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 23, 2019 at 12:00:41PM +1000, Dave Airlie wrote:
> From: Dave Airlie <airlied@xxxxxxxxxx>
> 
> This removes these unless legacy is enabled.
> 
> The lock count init is unneeded anyways since it's kzalloc.
> 
> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx>
> ---
>  drivers/gpu/drm/drm_auth.c   |  4 ++--
>  drivers/gpu/drm/drm_file.c   |  1 -
>  drivers/gpu/drm/drm_legacy.h | 10 ++++++++++
>  include/drm/drm_auth.h       |  2 ++
>  include/drm/drm_file.h       |  2 ++
>  5 files changed, 16 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c
> index ef8c4353829b..c3df628bc048 100644
> --- a/drivers/gpu/drm/drm_auth.c
> +++ b/drivers/gpu/drm/drm_auth.c
> @@ -103,8 +103,8 @@ struct drm_master *drm_master_create(struct drm_device *dev)
>  		return NULL;
>  
>  	kref_init(&master->refcount);
> -	spin_lock_init(&master->lock.spinlock);
> -	init_waitqueue_head(&master->lock.lock_queue);
> +
> +	drm_master_legacy_init(master);
>  	idr_init(&master->magic_map);
>  	master->dev = dev;
>  
> diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c
> index 263fbef73fe5..233f114d2186 100644
> --- a/drivers/gpu/drm/drm_file.c
> +++ b/drivers/gpu/drm/drm_file.c
> @@ -128,7 +128,6 @@ struct drm_file *drm_file_alloc(struct drm_minor *minor)
>  
>  	/* for compatibility root is always authenticated */
>  	file->authenticated = capable(CAP_SYS_ADMIN);
> -	file->lock_count = 0;
>  
>  	INIT_LIST_HEAD(&file->lhead);
>  	INIT_LIST_HEAD(&file->fbs);
> diff --git a/drivers/gpu/drm/drm_legacy.h b/drivers/gpu/drm/drm_legacy.h
> index 4200e6bd3778..5d97c06d78e4 100644
> --- a/drivers/gpu/drm/drm_legacy.h
> +++ b/drivers/gpu/drm/drm_legacy.h
> @@ -233,4 +233,14 @@ void drm_legacy_lock_master_cleanup(struct drm_device *dev, struct drm_master *m
>  #else
>  static inline void drm_legacy_lock_master_cleanup(struct drm_device *dev, struct drm_master *master) {}
>  #endif
> +
> +#if IS_ENABLED(CONFIG_DRM_LEGACY)
> +static inline void drm_master_legacy_init(struct drm_master *master)
> +{
> +	spin_lock_init(&master->lock.spinlock);
> +	init_waitqueue_head(&master->lock.lock_queue);
> +}

Probably small enough that the static inline won't upset anyone, but feel
free to bikeshed around.

> +#else
> +static inline void drm_master_legacy_init(struct drm_master *master) {}
> +#endif
>  #endif /* __DRM_LEGACY_H__ */
> diff --git a/include/drm/drm_auth.h b/include/drm/drm_auth.h
> index 86bff9841b54..722199f434f0 100644
> --- a/include/drm/drm_auth.h
> +++ b/include/drm/drm_auth.h
> @@ -80,7 +80,9 @@ struct drm_master {
>  	 * &drm_device.master_mutex.
>  	 */
>  	struct idr magic_map;
> +#if IS_ENABLED(CONFIG_DRM_LEGACY)
>  	struct drm_lock_data lock;

Ditch the kerneldoc and put this at the end behind a
	/* private: */
comment to hide it even harder?

Either way: Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
> +#endif
>  	void *driver_priv;
>  
>  	/* Tree of display resource leases, each of which is a drm_master struct
> diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h
> index 6710b612e2f6..67af60bb527a 100644
> --- a/include/drm/drm_file.h
> +++ b/include/drm/drm_file.h
> @@ -335,7 +335,9 @@ struct drm_file {
>  	struct drm_prime_file_private prime;
>  
>  	/* private: */
> +#if IS_ENABLED(CONFIG_DRM_LEGACY)
>  	unsigned long lock_count; /* DRI1 legacy lock count */
> +#endif
>  };
>  
>  /**
> -- 
> 2.20.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux