提交 77ef8bbc 编写于 作者: D David Herrmann 提交者: Dave Airlie

drm: make drm_mm_init() return void

There is no reason to return "int" as this function never fails.
Furthermore, several drivers (ast, sis) already depend on this.
Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: NDave Airlie <airlied@redhat.com>
上级 6ef92fbe
...@@ -108,12 +108,8 @@ drm_gem_init(struct drm_device *dev) ...@@ -108,12 +108,8 @@ drm_gem_init(struct drm_device *dev)
return -ENOMEM; return -ENOMEM;
} }
if (drm_mm_init(&mm->offset_manager, DRM_FILE_PAGE_OFFSET_START, drm_mm_init(&mm->offset_manager, DRM_FILE_PAGE_OFFSET_START,
DRM_FILE_PAGE_OFFSET_SIZE)) { DRM_FILE_PAGE_OFFSET_SIZE);
drm_ht_remove(&mm->offset_hash);
kfree(mm);
return -ENOMEM;
}
return 0; return 0;
} }
......
...@@ -669,7 +669,7 @@ int drm_mm_clean(struct drm_mm * mm) ...@@ -669,7 +669,7 @@ int drm_mm_clean(struct drm_mm * mm)
} }
EXPORT_SYMBOL(drm_mm_clean); EXPORT_SYMBOL(drm_mm_clean);
int drm_mm_init(struct drm_mm * mm, unsigned long start, unsigned long size) void drm_mm_init(struct drm_mm * mm, unsigned long start, unsigned long size)
{ {
INIT_LIST_HEAD(&mm->hole_stack); INIT_LIST_HEAD(&mm->hole_stack);
INIT_LIST_HEAD(&mm->unused_nodes); INIT_LIST_HEAD(&mm->unused_nodes);
...@@ -690,8 +690,6 @@ int drm_mm_init(struct drm_mm * mm, unsigned long start, unsigned long size) ...@@ -690,8 +690,6 @@ int drm_mm_init(struct drm_mm * mm, unsigned long start, unsigned long size)
list_add_tail(&mm->head_node.hole_stack, &mm->hole_stack); list_add_tail(&mm->head_node.hole_stack, &mm->hole_stack);
mm->color_adjust = NULL; mm->color_adjust = NULL;
return 0;
} }
EXPORT_SYMBOL(drm_mm_init); EXPORT_SYMBOL(drm_mm_init);
......
...@@ -1455,9 +1455,7 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev, ...@@ -1455,9 +1455,7 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev,
goto out_no_sys; goto out_no_sys;
bdev->addr_space_rb = RB_ROOT; bdev->addr_space_rb = RB_ROOT;
ret = drm_mm_init(&bdev->addr_space_mm, file_page_offset, 0x10000000); drm_mm_init(&bdev->addr_space_mm, file_page_offset, 0x10000000);
if (unlikely(ret != 0))
goto out_no_addr_mm;
INIT_DELAYED_WORK(&bdev->wq, ttm_bo_delayed_workqueue); INIT_DELAYED_WORK(&bdev->wq, ttm_bo_delayed_workqueue);
INIT_LIST_HEAD(&bdev->ddestroy); INIT_LIST_HEAD(&bdev->ddestroy);
...@@ -1471,8 +1469,6 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev, ...@@ -1471,8 +1469,6 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev,
mutex_unlock(&glob->device_list_mutex); mutex_unlock(&glob->device_list_mutex);
return 0; return 0;
out_no_addr_mm:
ttm_bo_clean_mm(bdev, 0);
out_no_sys: out_no_sys:
return ret; return ret;
} }
......
...@@ -103,18 +103,12 @@ static int ttm_bo_man_init(struct ttm_mem_type_manager *man, ...@@ -103,18 +103,12 @@ static int ttm_bo_man_init(struct ttm_mem_type_manager *man,
unsigned long p_size) unsigned long p_size)
{ {
struct ttm_range_manager *rman; struct ttm_range_manager *rman;
int ret;
rman = kzalloc(sizeof(*rman), GFP_KERNEL); rman = kzalloc(sizeof(*rman), GFP_KERNEL);
if (!rman) if (!rman)
return -ENOMEM; return -ENOMEM;
ret = drm_mm_init(&rman->mm, 0, p_size); drm_mm_init(&rman->mm, 0, p_size);
if (ret) {
kfree(rman);
return ret;
}
spin_lock_init(&rman->lock); spin_lock_init(&rman->lock);
man->priv = rman; man->priv = rman;
return 0; return 0;
......
...@@ -275,9 +275,9 @@ static inline struct drm_mm_node *drm_mm_search_free_in_range_color( ...@@ -275,9 +275,9 @@ static inline struct drm_mm_node *drm_mm_search_free_in_range_color(
return drm_mm_search_free_in_range_generic(mm, size, alignment, color, return drm_mm_search_free_in_range_generic(mm, size, alignment, color,
start, end, best_match); start, end, best_match);
} }
extern int drm_mm_init(struct drm_mm *mm, extern void drm_mm_init(struct drm_mm *mm,
unsigned long start, unsigned long start,
unsigned long size); unsigned long size);
extern void drm_mm_takedown(struct drm_mm *mm); extern void drm_mm_takedown(struct drm_mm *mm);
extern int drm_mm_clean(struct drm_mm *mm); extern int drm_mm_clean(struct drm_mm *mm);
extern int drm_mm_pre_get(struct drm_mm *mm); extern int drm_mm_pre_get(struct drm_mm *mm);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册