drm/ttm: Add a default BO destructor to simplify code (v2)
authorTom St Denis <tom.stdenis@amd.com>
Wed, 24 Jan 2018 19:26:41 +0000 (14:26 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 19 Feb 2018 19:18:56 +0000 (14:18 -0500)
(v2): Remove stray ; noticed by Felix

Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/ttm/ttm_bo.c

index 8cf89da7030da777ce023b4cbbbb8d3890cf973f..d90b1cf10b27042941a5d2cb33ccc91ce40bccf6 100644 (file)
@@ -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,7 @@ 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 ? destroy : ttm_bo_default_destroy;
 
        kref_init(&bo->kref);
        kref_init(&bo->list_kref);