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 at 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. -- Ville Syrjälä Intel OTC