lkml.org 
[lkml]   [2013]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 06/28] x86: use unflatten_and_copy_device_tree
    Date
    From: Rob Herring <rob.herring@calxeda.com>

    Use the common unflatten_and_copy_device_tree to copy the built-in FDT
    out of init section.

    Signed-off-by: Rob Herring <rob.herring@calxeda.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: x86@kernel.org
    ---
    arch/x86/kernel/devicetree.c | 23 ++++++++---------------
    1 file changed, 8 insertions(+), 15 deletions(-)

    diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
    index 376dc78..0db805c 100644
    --- a/arch/x86/kernel/devicetree.c
    +++ b/arch/x86/kernel/devicetree.c
    @@ -230,7 +230,7 @@ static void __init dtb_apic_setup(void)
    static void __init x86_flattree_get_config(void)
    {
    u32 size, map_len;
    - void *new_dtb;
    + struct boot_param_header *dt;

    if (!initial_dtb)
    return;
    @@ -238,24 +238,17 @@ static void __init x86_flattree_get_config(void)
    map_len = max(PAGE_SIZE - (initial_dtb & ~PAGE_MASK),
    (u64)sizeof(struct boot_param_header));

    - initial_boot_params = early_memremap(initial_dtb, map_len);
    - size = be32_to_cpu(initial_boot_params->totalsize);
    + dt = early_memremap(initial_dtb, map_len);
    + size = be32_to_cpu(dt->totalsize);
    if (map_len < size) {
    - early_iounmap(initial_boot_params, map_len);
    - initial_boot_params = early_memremap(initial_dtb, size);
    + early_iounmap(dt, map_len);
    + dt = early_memremap(initial_dtb, size);
    map_len = size;
    }

    - new_dtb = alloc_bootmem(size);
    - memcpy(new_dtb, initial_boot_params, size);
    - early_iounmap(initial_boot_params, map_len);
    -
    - initial_boot_params = new_dtb;
    -
    - /* root level address cells */
    - of_scan_flat_dt(early_init_dt_scan_root, NULL);
    -
    - unflatten_device_tree();
    + initial_boot_params = dt;
    + unflatten_and_copy_device_tree();
    + early_iounmap(dt, map_len);
    }
    #else
    static inline void x86_flattree_get_config(void) { }
    --
    1.8.1.2


    \
     
     \ /
      Last update: 2013-09-17 01:41    [W:2.617 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site