Re: [PATCH 14/17] dt: Consolidate __dtb_start declarations in <linux/of_fdt.h>

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12/11/13 19:42, Geert Uytterhoeven wrote:
> The different architectures used their own (and different) declarations:
> 
>     extern struct boot_param_header __dtb_start;
>     extern u32 __dtb_start[];
>     extern char __dtb_start[];
> 
> Consolidate them using the first variant in <linux/of_fdt.h>.
> This requires adding a few "address of" operators on architectures where
> __dtb_start was an array before.
> 
> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx>
> Cc: James Hogan <james.hogan@xxxxxxxxxx>
> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx>
> CC: Chris Zankel <chris@xxxxxxxxxx>
> Cc: Rob Herring <rob.herring@xxxxxxxxxxx>
> Cc: devicetree@xxxxxxxxxxxxxxx

Acked-by: James Hogan <james.hogan@xxxxxxxxxx>

Thanks
James

> ---
>  arch/arc/include/asm/sections.h             |    1 -
>  arch/arc/kernel/setup.c                     |    2 +-
>  arch/metag/kernel/setup.c                   |    6 +-----
>  arch/mips/include/asm/mips-boards/generic.h |    4 ----
>  arch/mips/lantiq/prom.h                     |    2 --
>  arch/mips/netlogic/xlp/dt.c                 |    4 ++--
>  arch/mips/ralink/of.c                       |    2 --
>  arch/openrisc/kernel/setup.c                |    2 +-
>  arch/openrisc/kernel/vmlinux.h              |    2 --
>  arch/xtensa/kernel/setup.c                  |    3 +--
>  include/linux/of_fdt.h                      |    3 +++
>  11 files changed, 9 insertions(+), 22 deletions(-)
> 
> diff --git a/arch/arc/include/asm/sections.h b/arch/arc/include/asm/sections.h
> index 764f1e3ba752..09db952e14bd 100644
> --- a/arch/arc/include/asm/sections.h
> +++ b/arch/arc/include/asm/sections.h
> @@ -12,6 +12,5 @@
>  #include <asm-generic/sections.h>
>  
>  extern char __arc_dccm_base[];
> -extern char __dtb_start[];
>  
>  #endif
> diff --git a/arch/arc/kernel/setup.c b/arch/arc/kernel/setup.c
> index 643eae4436e0..ef705d0f50f5 100644
> --- a/arch/arc/kernel/setup.c
> +++ b/arch/arc/kernel/setup.c
> @@ -314,7 +314,7 @@ void setup_processor(void)
>  void __init setup_arch(char **cmdline_p)
>  {
>  	/* This also populates @boot_command_line from /bootargs */
> -	machine_desc = setup_machine_fdt(__dtb_start);
> +	machine_desc = setup_machine_fdt(&__dtb_start);
>  	if (!machine_desc)
>  		panic("Embedded DT invalid\n");
>  
> diff --git a/arch/metag/kernel/setup.c b/arch/metag/kernel/setup.c
> index 129c7cdda1ce..919c782f5479 100644
> --- a/arch/metag/kernel/setup.c
> +++ b/arch/metag/kernel/setup.c
> @@ -105,10 +105,6 @@
>  
>  extern char _heap_start[];
>  
> -#ifdef CONFIG_METAG_BUILTIN_DTB
> -extern u32 __dtb_start[];
> -#endif
> -
>  #ifdef CONFIG_DA_CONSOLE
>  /* Our early channel based console driver */
>  extern struct console dash_console;
> @@ -251,7 +247,7 @@ void __init setup_arch(char **cmdline_p)
>  	if (!machine_desc) {
>  #ifdef CONFIG_METAG_BUILTIN_DTB
>  		/* try the embedded device tree */
> -		machine_desc = setup_machine_fdt(__dtb_start);
> +		machine_desc = setup_machine_fdt(&__dtb_start);
>  		if (!machine_desc)
>  			panic("Invalid embedded device tree.");
>  #else
> diff --git a/arch/mips/include/asm/mips-boards/generic.h b/arch/mips/include/asm/mips-boards/generic.h
> index 48616816bcbc..c904c24550f6 100644
> --- a/arch/mips/include/asm/mips-boards/generic.h
> +++ b/arch/mips/include/asm/mips-boards/generic.h
> @@ -67,10 +67,6 @@
>  
>  extern int mips_revision_sconid;
>  
> -#ifdef CONFIG_OF
> -extern struct boot_param_header __dtb_start;
> -#endif
> -
>  #ifdef CONFIG_PCI
>  extern void mips_pcibios_init(void);
>  #else
> diff --git a/arch/mips/lantiq/prom.h b/arch/mips/lantiq/prom.h
> index 8e07b5f28ef1..bfd2d58c1d69 100644
> --- a/arch/mips/lantiq/prom.h
> +++ b/arch/mips/lantiq/prom.h
> @@ -26,6 +26,4 @@ struct ltq_soc_info {
>  extern void ltq_soc_detect(struct ltq_soc_info *i);
>  extern void ltq_soc_init(void);
>  
> -extern struct boot_param_header __dtb_start;
> -
>  #endif
> diff --git a/arch/mips/netlogic/xlp/dt.c b/arch/mips/netlogic/xlp/dt.c
> index 8316d5454b17..87250f378386 100644
> --- a/arch/mips/netlogic/xlp/dt.c
> +++ b/arch/mips/netlogic/xlp/dt.c
> @@ -42,7 +42,7 @@
>  #include <asm/prom.h>
>  
>  extern u32 __dtb_xlp_evp_begin[], __dtb_xlp_svp_begin[],
> -	__dtb_xlp_fvp_begin[], __dtb_start[];
> +	__dtb_xlp_fvp_begin[];
>  static void *xlp_fdt_blob;
>  
>  void __init *xlp_dt_init(void *fdtp)
> @@ -66,7 +66,7 @@ void __init *xlp_dt_init(void *fdtp)
>  #endif
>  		default:
>  			/* Pick a built-in if any, and hope for the best */
> -			fdtp = __dtb_start;
> +			fdtp = &__dtb_start;
>  			break;
>  		}
>  	}
> diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
> index eccc5526155e..615603bd8063 100644
> --- a/arch/mips/ralink/of.c
> +++ b/arch/mips/ralink/of.c
> @@ -28,8 +28,6 @@
>  __iomem void *rt_sysc_membase;
>  __iomem void *rt_memc_membase;
>  
> -extern struct boot_param_header __dtb_start;
> -
>  __iomem void *plat_of_remap_node(const char *node)
>  {
>  	struct resource res;
> diff --git a/arch/openrisc/kernel/setup.c b/arch/openrisc/kernel/setup.c
> index 4fc7ccc0a2cf..c9b880d64bb8 100644
> --- a/arch/openrisc/kernel/setup.c
> +++ b/arch/openrisc/kernel/setup.c
> @@ -213,7 +213,7 @@ void __init or32_early_setup(void *fdt)
>  	if (fdt)
>  		pr_info("FDT at %p\n", fdt);
>  	else {
> -		fdt = __dtb_start;
> +		fdt = &__dtb_start;
>  		pr_info("Compiled-in FDT at %p\n", fdt);
>  	}
>  	early_init_devtree(fdt);
> diff --git a/arch/openrisc/kernel/vmlinux.h b/arch/openrisc/kernel/vmlinux.h
> index 70b9ce41835c..bbcdf21b0b35 100644
> --- a/arch/openrisc/kernel/vmlinux.h
> +++ b/arch/openrisc/kernel/vmlinux.h
> @@ -5,6 +5,4 @@
>  extern char __initrd_start, __initrd_end;
>  #endif
>  
> -extern u32 __dtb_start[];
> -
>  #endif
> diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c
> index 6e2b6638122d..d96cf8f3fe70 100644
> --- a/arch/xtensa/kernel/setup.c
> +++ b/arch/xtensa/kernel/setup.c
> @@ -68,8 +68,7 @@ extern int initrd_below_start_ok;
>  #endif
>  
>  #ifdef CONFIG_OF
> -extern u32 __dtb_start[];
> -void *dtb_start = __dtb_start;
> +void *dtb_start = &__dtb_start;
>  #endif
>  
>  unsigned char aux_device_present;
> diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
> index 0beaee9dac1f..aabc49f3e403 100644
> --- a/include/linux/of_fdt.h
> +++ b/include/linux/of_fdt.h
> @@ -57,6 +57,9 @@ struct boot_param_header {
>  	__be32	dt_struct_size;		/* size of the DT structure block */
>  };
>  
> +/* For kernels with a built-in device tree */
> +extern struct boot_param_header __dtb_start;
> +
>  #if defined(CONFIG_OF_FLATTREE)
>  
>  struct device_node;
> 

--
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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux