From: Rob Herring <rob.herring@xxxxxxxxxxx> This is the first of 2 series to do some consolidation of per architecture Device Tree code. We now have 12 architectures with DT support. As new architectures have been added, much of the DT related code for the early flattened DT scanning has been duplicated. Yet little of this code is architecture specific. This series has 4 main parts: - Create a common function to copy built-in dtb's out of init section - Create a single, common function to scan the FDT - Removal of early_init_dt_setup_initrd_arch - Create common functions for machine matching with DT The entire series with prom.h clean-up series is available here: git://sources.calxeda.com/kernel/linux.git dt-cleanup Compiled on arm, arm64, microblaze, mips, openrisc, powerpc, sparc, xtensa. Version 1 of this series is here: http://www.spinics.net/lists/devicetree/msg04865.html The prom.h clean-up series is here: http://www.spinics.net/lists/devicetree/msg06175.html Changes in v2: - Rebase to v3.12-rc3 - add arm64 sanity checks to default early_init_dt_add_memory_arch - drop x86 and metag from common early_init_dt_add_memory_arch - move metag early_init_dt_scan support to separate patch - metag fixes from James Hogan - Add NULL checks in early_init_dt_scan - Document proper use of unflatten_and_copy_device_tree - fix section mismatches with of_flat_dt_get_machine_name - fix non-DT boot on ARM Rob Rob Herring (29): c6x: use boot_command_line instead of private c6x_command_line openrisc: use boot_command_line instead of private cmd_line of: create unflatten_and_copy_device_tree arc: use unflatten_and_copy_device_tree openrisc: use unflatten_and_copy_device_tree x86: use unflatten_and_copy_device_tree xtensa: use unflatten_and_copy_device_tree metag: use unflatten_and_copy_device_tree of: Introduce common early_init_dt_scan arc: use early_init_dt_scan arm: use early_init_dt_scan arm64: use early_init_dt_scan c6x: use early_init_dt_scan metag: use early_init_dt_scan microblaze: use early_init_dt_scan mips: use early_init_dt_scan openrisc: use early_init_dt_scan xtensa: use early_init_dt_scan of: create default early_init_dt_add_memory_arch arm: set initrd_start/initrd_end for fdt scan arm64: set initrd_start/initrd_end for fdt scan of: remove early_init_dt_setup_initrd_arch openrisc: remove unnecessary prom.c includes of: introduce common FDT machine related functions arc: use common of_flat_dt_match_machine arm: use common of_flat_dt_match_machine arm64: use common of_flat_dt_get_machine_name metag: use common of_flat_dt_match_machine mips: use common of_flat_dt_get_machine_name arch/arc/include/asm/mach_desc.h | 1 - arch/arc/kernel/devtree.c | 94 +++++-------------------- arch/arc/kernel/setup.c | 3 +- arch/arc/mm/init.c | 7 -- arch/arm/kernel/devtree.c | 58 ++++++---------- arch/arm/mm/init.c | 13 ++-- arch/arm64/kernel/setup.c | 60 ++-------------- arch/arm64/mm/init.c | 24 ++----- arch/c6x/include/asm/setup.h | 2 - arch/c6x/kernel/devicetree.c | 29 -------- arch/c6x/kernel/setup.c | 13 +--- arch/c6x/kernel/vmlinux.lds.S | 6 -- arch/metag/include/asm/mach/arch.h | 2 +- arch/metag/include/asm/prom.h | 2 +- arch/metag/kernel/devtree.c | 83 ++++++---------------- arch/metag/kernel/setup.c | 6 +- arch/metag/mm/init.c | 9 --- arch/microblaze/kernel/prom.c | 31 +-------- arch/microblaze/kernel/setup.c | 2 +- arch/mips/include/asm/prom.h | 3 - arch/mips/kernel/prom.c | 60 +--------------- arch/openrisc/kernel/prom.c | 70 +------------------ arch/openrisc/kernel/setup.c | 6 +- arch/powerpc/kernel/prom.c | 9 --- arch/x86/kernel/devicetree.c | 32 +++------ arch/xtensa/kernel/setup.c | 55 ++++----------- drivers/of/fdt.c | 138 ++++++++++++++++++++++++++++++++++++- include/linux/of_fdt.h | 18 +++-- 28 files changed, 256 insertions(+), 580 deletions(-) -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html