summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorRussell King2011-12-06 00:27:54 +0100
committerRussell King2011-12-06 00:27:59 +0100
commit73829af71fdb8655e7ba4b5a2a6612ad34a75a11 (patch)
tree4277605ab142a4f02ff4efad9a7fe522054b7a7f /arch/arm/kernel
parentMerge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/will/... (diff)
parentARM: move VMALLOC_END down temporarily for shmobile (diff)
downloadkernel-qcow2-linux-73829af71fdb8655e7ba4b5a2a6612ad34a75a11.tar.gz
kernel-qcow2-linux-73829af71fdb8655e7ba4b5a2a6612ad34a75a11.tar.xz
kernel-qcow2-linux-73829af71fdb8655e7ba4b5a2a6612ad34a75a11.zip
Merge branch 'vmalloc' of git://git.linaro.org/people/nico/linux into devel-stable
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/setup.c8
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);