Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06309288 authored by Rob Herring's avatar Rob Herring
Browse files

vmlinuz.lds: define OF table sections with macros



OF table sections all have the same pattern, so create a macro to define
them and insure consistency.

Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 9a721c41
Loading
Loading
Loading
Loading
+14 −44
Original line number Diff line number Diff line
@@ -139,52 +139,22 @@
#define TRACE_SYSCALLS()
#endif

#ifdef CONFIG_CLKSRC_OF
#define CLKSRC_OF_TABLES() . = ALIGN(8);				\
			   VMLINUX_SYMBOL(__clksrc_of_table) = .;	\
			   *(__clksrc_of_table)				\
			   *(__clksrc_of_table_end)
#else
#define CLKSRC_OF_TABLES()
#endif

#ifdef CONFIG_IRQCHIP
#define IRQCHIP_OF_MATCH_TABLE()					\
	. = ALIGN(8);							\
	VMLINUX_SYMBOL(__irqchip_of_table) = .;				\
	*(__irqchip_of_table)		  				\
	*(__irqchip_of_table_end)
#else
#define IRQCHIP_OF_MATCH_TABLE()
#endif

#ifdef CONFIG_COMMON_CLK
#define CLK_OF_TABLES() . = ALIGN(8);				\
			VMLINUX_SYMBOL(__clk_of_table) = .;	\
			*(__clk_of_table)			\
			*(__clk_of_table_end)
#else
#define CLK_OF_TABLES()
#endif

#ifdef CONFIG_OF_RESERVED_MEM
#define RESERVEDMEM_OF_TABLES()				\
#define ___OF_TABLE(cfg, name)	_OF_TABLE_##cfg(name)
#define __OF_TABLE(cfg, name)	___OF_TABLE(cfg, name)
#define OF_TABLE(cfg, name)	__OF_TABLE(config_enabled(cfg), name)
#define _OF_TABLE_0(name)
#define _OF_TABLE_1(name)						\
	. = ALIGN(8);							\
	VMLINUX_SYMBOL(__reservedmem_of_table) = .;	\
	*(__reservedmem_of_table)			\
	*(__reservedmem_of_table_end)
#else
#define RESERVEDMEM_OF_TABLES()
#endif

#ifdef CONFIG_SMP
#define CPU_METHOD_OF_TABLES() . = ALIGN(8);				    \
			   VMLINUX_SYMBOL(__cpu_method_of_table) = .; \
			   *(__cpu_method_of_table)			    \
			   *(__cpu_method_of_table_end)
#else
#define CPU_METHOD_OF_TABLES()
#endif
	VMLINUX_SYMBOL(__##name##_of_table) = .;			\
	*(__##name##_of_table)						\
	*(__##name##_of_table_end)

#define CLKSRC_OF_TABLES()	OF_TABLE(CONFIG_CLKSRC_OF, clksrc)
#define IRQCHIP_OF_MATCH_TABLE() OF_TABLE(CONFIG_IRQCHIP, irqchip)
#define CLK_OF_TABLES()		OF_TABLE(CONFIG_COMMON_CLK, clk)
#define RESERVEDMEM_OF_TABLES()	OF_TABLE(CONFIG_OF_RESERVED_MEM, reservedmem)
#define CPU_METHOD_OF_TABLES()	OF_TABLE(CONFIG_SMP, cpu_method)

#define KERNEL_DTB()							\
	STRUCT_ALIGN();							\