Merge remote-tracking branch 'lsk/v3.10/topic/libfdt' into linux-linaro-lsk
authorMark Brown <broonie@linaro.org>
Thu, 24 Jul 2014 21:54:49 +0000 (22:54 +0100)
committerMark Brown <broonie@linaro.org>
Thu, 24 Jul 2014 21:54:49 +0000 (22:54 +0100)
Conflicts:
drivers/of/fdt.c

1  2 
arch/arm/mach-vexpress/platsmp.c
arch/powerpc/kernel/prom.c
arch/powerpc/platforms/pseries/setup.c
arch/xtensa/kernel/setup.c
drivers/of/base.c
drivers/of/fdt.c
include/linux/of.h
lib/Makefile

Simple merge
Simple merge
Simple merge
Simple merge
index a1ebaecc8122b1dec92d9c314b505e58ea100157,10c08e82054b2fa3a650acfd094f4c4c1c2272d9..4911158cba8a154b80aaeac44ef39a05741d93df
@@@ -389,22 -335,16 +335,18 @@@ static void __unflatten_device_tree(str
        pr_debug("  size is %lx, allocating...\n", size);
  
        /* Allocate memory for the expanded device tree */
-       mem = (unsigned long)
-               dt_alloc(size + 4, __alignof__(struct device_node));
+       mem = dt_alloc(size + 4, __alignof__(struct device_node));
  
 +      memset((void *)mem, 0, size);
 +
        ((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeef);
  
-       pr_debug("  unflattening %lx...\n", mem);
+       pr_debug("  unflattening %p...\n", mem);
  
        /* Second pass, do actual unflattening */
-       start = ((unsigned long)blob) +
-               be32_to_cpu(blob->off_dt_struct);
+       start = 0;
        unflatten_dt_node(blob, mem, &start, NULL, &allnextp, 0);
-       if (be32_to_cpup((__be32 *)start) != OF_DT_END)
-               pr_warning("Weird tag at end of tree: %08x\n", *((u32 *)start));
-       if (be32_to_cpu(((__be32 *)mem)[size / 4]) != 0xdeadbeef)
+       if (be32_to_cpup(mem + size) != 0xdeadbeef)
                pr_warning("End of tree marker overwritten: %08x\n",
                           be32_to_cpu(((__be32 *)mem)[size / 4]));
        *allnextp = NULL;
Simple merge
diff --cc lib/Makefile
Simple merge