x86: devicetree: fix config option around x86_flattree_get_config()
authorFrank Rowand <frank.rowand@sony.com>
Sat, 3 Mar 2018 04:00:31 +0000 (20:00 -0800)
committerFrank Rowand <frowand.list@gmail.com>
Sun, 4 Mar 2018 08:28:55 +0000 (00:28 -0800)
x86_flattree_get_config() is incorrectly protected by
ifdef CONFIG_OF_FLATTREE.  It uses of_get_flat_dt_size(), which
only exists if CONFIG_OF_EARLY_FLATTREE.  This issue has not
been exposed previously because OF_FLATTREE did not occur unless
it was selected by OF_EARLY_FLATTREE.  A devicetree overlay change
is selecting OF_FLATTREE directly instead of indirectly enabling
it by selecting OF_EARLY_FLATTREE.

This problem was exposed by a randconfig generated by the kbuild
test robot, where Platform OLPC was enabled.  OLPC selects
OF_PROMTREE instead of OF_EARLY_FLATREE.  The only other x86
platform that selects OF is X86_INTEL_CE, which does select
OF_EARLY_FLATTREE.

Signed-off-by: Frank Rowand <frank.rowand@sony.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/devicetree.c

index 25de5f6..4541682 100644 (file)
@@ -259,7 +259,7 @@ static void __init dtb_apic_setup(void)
        dtb_ioapic_setup();
 }
 
-#ifdef CONFIG_OF_FLATTREE
+#ifdef CONFIG_OF_EARLY_FLATTREE
 static void __init x86_flattree_get_config(void)
 {
        u32 size, map_len;