arm: Add devicetree fixup machine function
authorLaura Abbott <lauraa@codeaurora.org>
Tue, 15 Jul 2014 17:03:36 +0000 (10:03 -0700)
committerGrant Likely <grant.likely@linaro.org>
Wed, 30 Jul 2014 03:26:49 +0000 (21:26 -0600)
commit5a12a597a8627b91fd9d94365853f9f69a4f399c
tree3e8b3381fba66b9119bd491d3f3a7fe8401df61f
parent704033cee2e5b3c1c6eaf5bb398e465a9c3667b5
arm: Add devicetree fixup machine function

Commit 1c2f87c22566cd057bc8cde10c37ae9da1a1bb76
(ARM: 8025/1: Get rid of meminfo) dropped the upper bound on
the number of memory banks that can be added as there was no
technical need in the kernel. It turns out though, some bootloaders
(specifically the arndale-octa exynos boards) may pass invalid memory
information and rely on the kernel to not parse this data. This is a
bug in the bootloader but we still need to work around this.
Work around this by introducing a dt_fixup function. This function
gets called before the flattened devicetree is scanned for memory
and the like. In this fixup function for exynos, limit the maximum
number of memory regions in the devicetree.

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Tested-by: Andreas Färber <afaerber@suse.de>
[glikely: Added a comment and fixed up function name]
Signed-off-by: Grant Likely <grant.likely@linaro.org>
arch/arm/include/asm/mach/arch.h
arch/arm/kernel/devtree.c
arch/arm/mach-exynos/exynos.c