The ELF appended dtb can be accessed now via 'fw_passed_dtb'.

Since raw appended dtb is accessed via that variable too,
this now effectively allows to boot with CONFIG_MIPS_RAW_APPENDED_DTB=y
on Octeon.

Signed-off-by: Yasha Cherikovsky <[email protected]>
Cc: Ralf Baechle <[email protected]>
Cc: Paul Burton <[email protected]>
Cc: James Hogan <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
 arch/mips/cavium-octeon/setup.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c
index a8034d0dcade..3c26054ce72b 100644
--- a/arch/mips/cavium-octeon/setup.c
+++ b/arch/mips/cavium-octeon/setup.c
@@ -1156,7 +1156,6 @@ void __init prom_free_prom_memory(void)
 void __init octeon_fill_mac_addresses(void);
 int octeon_prune_device_tree(void);
 
-extern const char __appended_dtb;
 extern const char __dtb_octeon_3xxx_begin;
 extern const char __dtb_octeon_68xx_begin;
 void __init device_tree_init(void)
@@ -1165,15 +1164,12 @@ void __init device_tree_init(void)
        bool do_prune;
        bool fill_mac;
 
-#ifdef CONFIG_MIPS_ELF_APPENDED_DTB
-       if (!fdt_check_header(&__appended_dtb)) {
-               fdt = &__appended_dtb;
+       if (fw_passed_dtb) {
+               fdt = (void *)fw_passed_dtb;
                do_prune = false;
                fill_mac = true;
                pr_info("Using appended Device Tree.\n");
-       } else
-#endif
-       if (octeon_bootinfo->minor_version >= 3 && octeon_bootinfo->fdt_addr) {
+       } else if (octeon_bootinfo->minor_version >= 3 && 
octeon_bootinfo->fdt_addr) {
                fdt = phys_to_virt(octeon_bootinfo->fdt_addr);
                if (fdt_check_header(fdt))
                        panic("Corrupt Device Tree passed to kernel.");
-- 
2.19.0

Reply via email to