Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / arch / mips / jz4740 / setup.c
index 8c08d7dcda6695b100a19b1a83e504b870779ba0..510fc0d962f215e90396d687328ac302ebaf8d66 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/io.h>
 #include <linux/irqchip.h>
 #include <linux/kernel.h>
+#include <linux/libfdt.h>
 #include <linux/of_fdt.h>
 #include <linux/of_platform.h>
 
@@ -55,9 +56,14 @@ static void __init jz4740_detect_mem(void)
 
 void __init plat_mem_setup(void)
 {
+       int offset;
+
        jz4740_reset_init();
-       jz4740_detect_mem();
        __dt_setup_arch(__dtb_start);
+
+       offset = fdt_path_offset(__dtb_start, "/memory");
+       if (offset < 0)
+               jz4740_detect_mem();
 }
 
 void __init device_tree_init(void)
@@ -77,6 +83,9 @@ arch_initcall(populate_machine);
 
 const char *get_system_type(void)
 {
+       if (config_enabled(CONFIG_MACH_JZ4780))
+               return "JZ4780";
+
        return "JZ4740";
 }