Commit fc769a8e authored by Tejun Heo's avatar Tejun Heo Committed by H. Peter Anvin

memblock: Replace memblock_find_base() with memblock_find_in_range()

memblock_find_base() is a static function with two callers in
memblock.c and memblock_find_in_range() is a wrapper around it which
just changes the types and order of parameters.

Make memblock_find_in_range() take phys_addr_t instead of u64 for
consistency and replace memblock_find_base() with it.
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Link: http://lkml.kernel.org/r/1310457490-3356-7-git-send-email-tj@kernel.org
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
parent 1f5026a7
...@@ -46,7 +46,8 @@ extern int memblock_can_resize; ...@@ -46,7 +46,8 @@ extern int memblock_can_resize;
#define memblock_dbg(fmt, ...) \ #define memblock_dbg(fmt, ...) \
if (memblock_debug) printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) if (memblock_debug) printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
u64 memblock_find_in_range(u64 start, u64 end, u64 size, u64 align); phys_addr_t memblock_find_in_range(phys_addr_t start, phys_addr_t end,
phys_addr_t size, phys_addr_t align);
int memblock_free_reserved_regions(void); int memblock_free_reserved_regions(void);
int memblock_reserve_reserved_regions(void); int memblock_reserve_reserved_regions(void);
......
...@@ -97,8 +97,11 @@ static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_ ...@@ -97,8 +97,11 @@ static phys_addr_t __init_memblock memblock_find_region(phys_addr_t start, phys_
return 0; return 0;
} }
static phys_addr_t __init_memblock memblock_find_base(phys_addr_t size, /*
phys_addr_t align, phys_addr_t start, phys_addr_t end) * Find a free area with specified alignment in a specific range.
*/
phys_addr_t __init_memblock memblock_find_in_range(phys_addr_t start, phys_addr_t end,
phys_addr_t size, phys_addr_t align)
{ {
long i; long i;
...@@ -132,14 +135,6 @@ static phys_addr_t __init_memblock memblock_find_base(phys_addr_t size, ...@@ -132,14 +135,6 @@ static phys_addr_t __init_memblock memblock_find_base(phys_addr_t size,
return 0; return 0;
} }
/*
* Find a free area with specified alignment in a specific range.
*/
u64 __init_memblock memblock_find_in_range(u64 start, u64 end, u64 size, u64 align)
{
return memblock_find_base(size, align, start, end);
}
/* /*
* Free memblock.reserved.regions * Free memblock.reserved.regions
*/ */
...@@ -216,7 +211,7 @@ static int __init_memblock memblock_double_array(struct memblock_type *type) ...@@ -216,7 +211,7 @@ static int __init_memblock memblock_double_array(struct memblock_type *type)
new_array = kmalloc(new_size, GFP_KERNEL); new_array = kmalloc(new_size, GFP_KERNEL);
addr = new_array ? __pa(new_array) : 0; addr = new_array ? __pa(new_array) : 0;
} else } else
addr = memblock_find_base(new_size, sizeof(phys_addr_t), 0, MEMBLOCK_ALLOC_ACCESSIBLE); addr = memblock_find_in_range(0, MEMBLOCK_ALLOC_ACCESSIBLE, new_size, sizeof(phys_addr_t));
if (!addr) { if (!addr) {
pr_err("memblock: Failed to double %s array from %ld to %ld entries !\n", pr_err("memblock: Failed to double %s array from %ld to %ld entries !\n",
memblock_type_name(type), type->max, type->max * 2); memblock_type_name(type), type->max, type->max * 2);
...@@ -477,7 +472,7 @@ phys_addr_t __init __memblock_alloc_base(phys_addr_t size, phys_addr_t align, ph ...@@ -477,7 +472,7 @@ phys_addr_t __init __memblock_alloc_base(phys_addr_t size, phys_addr_t align, ph
*/ */
size = round_up(size, align); size = round_up(size, align);
found = memblock_find_base(size, align, 0, max_addr); found = memblock_find_in_range(0, max_addr, size, align);
if (found && !memblock_add_region(&memblock.reserved, found, size)) if (found && !memblock_add_region(&memblock.reserved, found, size))
return found; return found;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment