Message ID | 20180126182911.20761-3-tom.stdenis@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 2018-01-26 01:29 PM, Tom St Denis wrote: > Signed-off-by: Tom St Denis <tom.stdenis@amd.com> > --- > drivers/gpu/drm/ttm/ttm_bo.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c > index 8cf89da7030d..4e85c32fea26 100644 > --- a/drivers/gpu/drm/ttm/ttm_bo.c > +++ b/drivers/gpu/drm/ttm/ttm_bo.c > @@ -49,6 +49,12 @@ static struct attribute ttm_bo_count = { > .mode = S_IRUGO > }; > > +/* default destructor */ > +static void ttm_bo_default_destroy(struct ttm_buffer_object *bo) > +{ > + kfree(bo); > +}; Stray semicolon. > + > static inline int ttm_mem_type_from_place(const struct ttm_place *place, > uint32_t *mem_type) > { > @@ -147,10 +153,7 @@ static void ttm_bo_release_list(struct kref *list_kref) > dma_fence_put(bo->moving); > reservation_object_fini(&bo->ttm_resv); > mutex_destroy(&bo->wu_mutex); > - if (bo->destroy) > - bo->destroy(bo); > - else > - kfree(bo); > + bo->destroy(bo); > ttm_mem_global_free(bdev->glob->mem_glob, acc_size); > } > > @@ -1176,7 +1179,8 @@ int ttm_bo_init_reserved(struct ttm_bo_device *bdev, > ttm_mem_global_free(mem_glob, acc_size); > return -EINVAL; > } > - bo->destroy = destroy; > + bo->destroy = > + (destroy == NULL) ? ttm_bo_default_destroy : destroy; This could be written shorter as "!destroy ? ttm_bo_default_destroy : destroy", or even "destroy ? destroy : ttm_bo_default_destroy". Regards, Felix > > kref_init(&bo->kref); > kref_init(&bo->list_kref);
On Fri, Jan 26, 2018 at 02:23:39PM -0500, Felix Kuehling wrote: > On 2018-01-26 01:29 PM, Tom St Denis wrote: > > Signed-off-by: Tom St Denis <tom.stdenis@amd.com> > > --- > > drivers/gpu/drm/ttm/ttm_bo.c | 14 +++++++++----- > > 1 file changed, 9 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c > > index 8cf89da7030d..4e85c32fea26 100644 > > --- a/drivers/gpu/drm/ttm/ttm_bo.c > > +++ b/drivers/gpu/drm/ttm/ttm_bo.c > > @@ -49,6 +49,12 @@ static struct attribute ttm_bo_count = { > > .mode = S_IRUGO > > }; > > > > +/* default destructor */ > > +static void ttm_bo_default_destroy(struct ttm_buffer_object *bo) > > +{ > > + kfree(bo); > > +}; > > Stray semicolon. > > > + > > static inline int ttm_mem_type_from_place(const struct ttm_place *place, > > uint32_t *mem_type) > > { > > @@ -147,10 +153,7 @@ static void ttm_bo_release_list(struct kref *list_kref) > > dma_fence_put(bo->moving); > > reservation_object_fini(&bo->ttm_resv); > > mutex_destroy(&bo->wu_mutex); > > - if (bo->destroy) > > - bo->destroy(bo); > > - else > > - kfree(bo); > > + bo->destroy(bo); > > ttm_mem_global_free(bdev->glob->mem_glob, acc_size); > > } > > > > @@ -1176,7 +1179,8 @@ int ttm_bo_init_reserved(struct ttm_bo_device *bdev, > > ttm_mem_global_free(mem_glob, acc_size); > > return -EINVAL; > > } > > - bo->destroy = destroy; > > + bo->destroy = > > + (destroy == NULL) ? ttm_bo_default_destroy : destroy; > > This could be written shorter as "!destroy ? ttm_bo_default_destroy : > destroy", or even "destroy ? destroy : ttm_bo_default_destroy". Or even 'destroy ?: ttm_bo_default_destroy' if you think the gcc extension is cool enough. It is used elsewhere in the kernel.
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 8cf89da7030d..4e85c32fea26 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -49,6 +49,12 @@ static struct attribute ttm_bo_count = { .mode = S_IRUGO }; +/* default destructor */ +static void ttm_bo_default_destroy(struct ttm_buffer_object *bo) +{ + kfree(bo); +}; + static inline int ttm_mem_type_from_place(const struct ttm_place *place, uint32_t *mem_type) { @@ -147,10 +153,7 @@ static void ttm_bo_release_list(struct kref *list_kref) dma_fence_put(bo->moving); reservation_object_fini(&bo->ttm_resv); mutex_destroy(&bo->wu_mutex); - if (bo->destroy) - bo->destroy(bo); - else - kfree(bo); + bo->destroy(bo); ttm_mem_global_free(bdev->glob->mem_glob, acc_size); } @@ -1176,7 +1179,8 @@ int ttm_bo_init_reserved(struct ttm_bo_device *bdev, ttm_mem_global_free(mem_glob, acc_size); return -EINVAL; } - bo->destroy = destroy; + bo->destroy = + (destroy == NULL) ? ttm_bo_default_destroy : destroy; kref_init(&bo->kref); kref_init(&bo->list_kref);
Signed-off-by: Tom St Denis <tom.stdenis@amd.com> --- drivers/gpu/drm/ttm/ttm_bo.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)