All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Dave Airlie <airlied@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 07/12] drm/legacy: move init/destroy of struct members into inlines
Date: Tue, 23 Apr 2019 20:46:38 +0200	[thread overview]
Message-ID: <20190423184638.GC9857@phenom.ffwll.local> (raw)
In-Reply-To: <20190423020041.32702-8-airlied@gmail.com>

On Tue, Apr 23, 2019 at 12:00:36PM +1000, Dave Airlie wrote:
> From: Dave Airlie <airlied@redhat.com>
> 
> This will allow easier removal later.
> 
> Signed-off-by: Dave Airlie <airlied@redhat.com>
> ---
>  drivers/gpu/drm/drm_drv.c    | 10 +++-------
>  drivers/gpu/drm/drm_legacy.h | 14 ++++++++++++++
>  2 files changed, 17 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index 18f45f9a955c..e4f36c5ccfcd 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -659,20 +659,16 @@ int drm_dev_init(struct drm_device *dev,
>  	/* no per-device feature limits by default */
>  	dev->driver_features = ~0u;
>  
> +	drm_legacy_init_members(dev);
>  	INIT_LIST_HEAD(&dev->filelist);
>  	INIT_LIST_HEAD(&dev->filelist_internal);
>  	INIT_LIST_HEAD(&dev->clientlist);
> -	INIT_LIST_HEAD(&dev->ctxlist);
> -	INIT_LIST_HEAD(&dev->vmalist);
> -	INIT_LIST_HEAD(&dev->maplist);
>  	INIT_LIST_HEAD(&dev->vblank_event_list);
>  
> -	spin_lock_init(&dev->buf_lock);
>  	spin_lock_init(&dev->event_lock);
>  	mutex_init(&dev->struct_mutex);
>  	mutex_init(&dev->filelist_mutex);
>  	mutex_init(&dev->clientlist_mutex);
> -	mutex_init(&dev->ctxlist_mutex);
>  	mutex_init(&dev->master_mutex);
>  
>  	dev->anon_inode = drm_fs_inode_new();
> @@ -724,7 +720,7 @@ int drm_dev_init(struct drm_device *dev,
>  err_free:
>  	put_device(dev->dev);
>  	mutex_destroy(&dev->master_mutex);
> -	mutex_destroy(&dev->ctxlist_mutex);
> +	drm_legacy_destroy_members(dev);
>  	mutex_destroy(&dev->clientlist_mutex);
>  	mutex_destroy(&dev->filelist_mutex);
>  	mutex_destroy(&dev->struct_mutex);
> @@ -800,7 +796,7 @@ void drm_dev_fini(struct drm_device *dev)
>  	put_device(dev->dev);
>  
>  	mutex_destroy(&dev->master_mutex);
> -	mutex_destroy(&dev->ctxlist_mutex);
> +	drm_legacy_destroy_members(dev);
>  	mutex_destroy(&dev->clientlist_mutex);
>  	mutex_destroy(&dev->filelist_mutex);
>  	mutex_destroy(&dev->struct_mutex);
> diff --git a/drivers/gpu/drm/drm_legacy.h b/drivers/gpu/drm/drm_legacy.h
> index ef419d500e51..20c4befc476b 100644
> --- a/drivers/gpu/drm/drm_legacy.h
> +++ b/drivers/gpu/drm/drm_legacy.h
> @@ -136,5 +136,19 @@ int drm_legacy_sg_alloc(struct drm_device *dev, void *data,
>  int drm_legacy_sg_free(struct drm_device *dev, void *data,
>  		       struct drm_file *file_priv);
>  
> +static inline void drm_legacy_init_members(struct drm_device *dev)
> +{
> +	INIT_LIST_HEAD(&dev->ctxlist);
> +	INIT_LIST_HEAD(&dev->vmalist);
> +	INIT_LIST_HEAD(&dev->maplist);
> +	spin_lock_init(&dev->buf_lock);
> +	mutex_init(&dev->ctxlist_mutex);
> +}
> +
> +static inline void drm_legacy_destroy_members(struct drm_device *dev)
> +{
> +	mutex_destroy(&dev->ctxlist_mutex);
> +}

I think with the other inline functions you stuff into drm_legacy.h it'd
justification enough to create a drm_legacy_misc.c. Not drm_legacy.c
because then you can't include other files into drm_legacy.ko because
Kbuild is silly :-)

With that: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> +
>  void drm_legacy_lock_master_cleanup(struct drm_device *dev, struct drm_master *master);
>  #endif /* __DRM_LEGACY_H__ */
> -- 
> 2.20.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

  reply	other threads:[~2019-04-23 18:46 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-23  2:00 drm: make legacy support code optional Dave Airlie
2019-04-23  2:00 ` [PATCH 01/12] drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v2) Dave Airlie
2019-04-23  2:00 ` [PATCH 02/12] drm/legacy: move drm_legacy_master_rmmaps to non-driver legacy header Dave Airlie
2019-04-23  2:00 ` [PATCH 03/12] drm/legacy: move map cleanups into drm_bufs.c Dave Airlie
2019-04-23  2:00 ` [PATCH 04/12] drm/radeon: drop unused ati pcigart include Dave Airlie
2019-04-23 13:07   ` Christian König
2019-04-23  2:00 ` [PATCH 05/12] drm/legacy: move lock cleanup for master into lock file Dave Airlie
2019-04-23 18:44   ` Daniel Vetter
2019-04-23  2:00 ` [PATCH 06/12] drm/legacy: move map_hash create/destroy into inlines Dave Airlie
2019-04-23 18:45   ` Daniel Vetter
2019-04-23 18:58     ` Daniel Vetter
2019-04-23 19:48   ` Sam Ravnborg
2019-04-23  2:00 ` [PATCH 07/12] drm/legacy: move init/destroy of struct members " Dave Airlie
2019-04-23 18:46   ` Daniel Vetter [this message]
2019-04-23 19:52   ` Sam Ravnborg
2019-04-23  2:00 ` [PATCH 08/12] drm/legacy: move legacy dev reinit into an inline Dave Airlie
2019-04-23 18:47   ` Daniel Vetter
2019-04-23 19:55   ` Sam Ravnborg
2019-04-23  2:00 ` [PATCH 09/12] drm/legacy: don't include any of ati_pcigart in legacy Dave Airlie
2019-04-23 18:50   ` Daniel Vetter
2019-04-23 19:58     ` Sam Ravnborg
2019-04-23  2:00 ` [PATCH 10/12] drm: allow removal of legacy codepaths (v4) Dave Airlie
2019-04-23 18:53   ` Daniel Vetter
2019-04-23  2:00 ` [PATCH 11/12] drm/legacy: place all drm legacy members under DRM_LEGACY Dave Airlie
2019-04-23 18:55   ` Daniel Vetter
2019-04-23  2:00 ` [PATCH 12/12] drm/legacy: remove some legacy lock struct members Dave Airlie
2019-04-23 18:57   ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190423184638.GC9857@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=airlied@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.