diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-12-05 23:27:54 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-12-05 23:27:59 +0000 |
commit | 73829af71fdb8655e7ba4b5a2a6612ad34a75a11 (patch) | |
tree | 4277605ab142a4f02ff4efad9a7fe522054b7a7f /arch/arm/kernel/setup.c | |
parent | 742eaa6a6e356a16788ce6530271de89bc4f8fb5 (diff) | |
parent | 0af362f8440a78b970d5f215e234420fa87d0f3f (diff) |
Merge branch 'vmalloc' of git://git.linaro.org/people/nico/linux into devel-stable
Diffstat (limited to 'arch/arm/kernel/setup.c')
-rw-r--r-- | arch/arm/kernel/setup.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 6c2b0db5d1e9..5c7094e8f6e9 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -31,6 +31,7 @@ #include <linux/memblock.h> #include <linux/bug.h> #include <linux/compiler.h> +#include <linux/sort.h> #include <asm/unified.h> #include <asm/cpu.h> @@ -890,6 +891,12 @@ static struct machine_desc * __init setup_machine_tags(unsigned int nr) return mdesc; } +static int __init meminfo_cmp(const void *_a, const void *_b) +{ + const struct membank *a = _a, *b = _b; + long cmp = bank_pfn_start(a) - bank_pfn_start(b); + return cmp < 0 ? -1 : cmp > 0 ? 1 : 0; +} void __init setup_arch(char **cmdline_p) { @@ -918,6 +925,7 @@ void __init setup_arch(char **cmdline_p) parse_early_param(); + sort(&meminfo.bank, meminfo.nr_banks, sizeof(meminfo.bank[0]), meminfo_cmp, NULL); sanity_check_meminfo(); arm_memblock_init(&meminfo, mdesc); |