* [RFC PATCH 1/4] irqchip: align irqchip OF match table section naming
2014-03-27 19:41 [RFC PATCH 0/4] vmlinux.lds.h clean-ups Rob Herring
@ 2014-03-27 19:41 ` Rob Herring
2014-03-27 19:41 ` Rob Herring
2014-03-27 19:41 ` [RFC PATCH 2/4] ARM: align cpu_method_of_table naming Rob Herring
` (3 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Rob Herring @ 2014-03-27 19:41 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: linux-arch, linux-kernel, Russell King, Rob Herring
From: Rob Herring <robh@kernel.org>
Make the irqchip OF match table section naming aligned with other
OF match table sections in preparation to have a common definition.
Signed-off-by: Rob Herring <robh@kernel.org>
---
drivers/irqchip/irqchip.c | 6 +++---
include/asm-generic/vmlinux.lds.h | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/irqchip/irqchip.c b/drivers/irqchip/irqchip.c
index cad3e24..0fe2f71 100644
--- a/drivers/irqchip/irqchip.c
+++ b/drivers/irqchip/irqchip.c
@@ -19,11 +19,11 @@
* special section.
*/
static const struct of_device_id
-irqchip_of_match_end __used __section(__irqchip_of_end);
+irqchip_of_match_end __used __section(__irqchip_of_table_end);
-extern struct of_device_id __irqchip_begin[];
+extern struct of_device_id __irqchip_of_table[];
void __init irqchip_init(void)
{
- of_irq_init(__irqchip_begin);
+ of_irq_init(__irqchip_of_table);
}
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index f7bf870..f8d1783 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -151,9 +151,9 @@
#ifdef CONFIG_IRQCHIP
#define IRQCHIP_OF_MATCH_TABLE() \
. = ALIGN(8); \
- VMLINUX_SYMBOL(__irqchip_begin) = .; \
+ VMLINUX_SYMBOL(__irqchip_of_table) = .; \
*(__irqchip_of_table) \
- *(__irqchip_of_end)
+ *(__irqchip_of_table_end)
#else
#define IRQCHIP_OF_MATCH_TABLE()
#endif
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [RFC PATCH 1/4] irqchip: align irqchip OF match table section naming
2014-03-27 19:41 ` [RFC PATCH 1/4] irqchip: align irqchip OF match table section naming Rob Herring
@ 2014-03-27 19:41 ` Rob Herring
0 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2014-03-27 19:41 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: linux-arch, linux-kernel, Russell King, Rob Herring
From: Rob Herring <robh@kernel.org>
Make the irqchip OF match table section naming aligned with other
OF match table sections in preparation to have a common definition.
Signed-off-by: Rob Herring <robh@kernel.org>
---
drivers/irqchip/irqchip.c | 6 +++---
include/asm-generic/vmlinux.lds.h | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/irqchip/irqchip.c b/drivers/irqchip/irqchip.c
index cad3e24..0fe2f71 100644
--- a/drivers/irqchip/irqchip.c
+++ b/drivers/irqchip/irqchip.c
@@ -19,11 +19,11 @@
* special section.
*/
static const struct of_device_id
-irqchip_of_match_end __used __section(__irqchip_of_end);
+irqchip_of_match_end __used __section(__irqchip_of_table_end);
-extern struct of_device_id __irqchip_begin[];
+extern struct of_device_id __irqchip_of_table[];
void __init irqchip_init(void)
{
- of_irq_init(__irqchip_begin);
+ of_irq_init(__irqchip_of_table);
}
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index f7bf870..f8d1783 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -151,9 +151,9 @@
#ifdef CONFIG_IRQCHIP
#define IRQCHIP_OF_MATCH_TABLE() \
. = ALIGN(8); \
- VMLINUX_SYMBOL(__irqchip_begin) = .; \
+ VMLINUX_SYMBOL(__irqchip_of_table) = .; \
*(__irqchip_of_table) \
- *(__irqchip_of_end)
+ *(__irqchip_of_table_end)
#else
#define IRQCHIP_OF_MATCH_TABLE()
#endif
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [RFC PATCH 2/4] ARM: align cpu_method_of_table naming
2014-03-27 19:41 [RFC PATCH 0/4] vmlinux.lds.h clean-ups Rob Herring
2014-03-27 19:41 ` [RFC PATCH 1/4] irqchip: align irqchip OF match table section naming Rob Herring
@ 2014-03-27 19:41 ` Rob Herring
2014-03-27 19:41 ` [RFC PATCH 3/4] vmlinuz.lds: define OF table sections with macros Rob Herring
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2014-03-27 19:41 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: linux-arch, linux-kernel, Russell King, Rob Herring
From: Rob Herring <robh@kernel.org>
The cpu_method_of_table is the oddball of the various OF linker sections.
In preparation to have common linker section definitions, align the
cpu_method_of_table with the other definitions for the naming and ending
with a blank struct.
Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/kernel/devtree.c | 11 +++++++----
include/asm-generic/vmlinux.lds.h | 4 ++--
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c
index c7419a5..bdac7a9 100644
--- a/arch/arm/kernel/devtree.c
+++ b/arch/arm/kernel/devtree.c
@@ -65,18 +65,21 @@ void __init arm_dt_memblock_reserve(void)
}
#ifdef CONFIG_SMP
-extern struct of_cpu_method __cpu_method_of_table_begin[];
-extern struct of_cpu_method __cpu_method_of_table_end[];
+extern struct of_cpu_method __cpu_method_of_table[];
+
+static const struct of_cpu_method __cpu_method_of_table_sentinel
+ __used __section(__cpu_method_of_table_end);
+
static int __init set_smp_ops_by_method(struct device_node *node)
{
const char *method;
- struct of_cpu_method *m = __cpu_method_of_table_begin;
+ struct of_cpu_method *m = __cpu_method_of_table;
if (of_property_read_string(node, "enable-method", &method))
return 0;
- for (; m < __cpu_method_of_table_end; m++)
+ for (; m->method; m++)
if (!strcmp(m->method, method)) {
smp_set_ops(m->ops);
return 1;
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index f8d1783..d09e670 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -169,9 +169,9 @@
#ifdef CONFIG_SMP
#define CPU_METHOD_OF_TABLES() . = ALIGN(8); \
- VMLINUX_SYMBOL(__cpu_method_of_table_begin) = .; \
+ VMLINUX_SYMBOL(__cpu_method_of_table) = .; \
*(__cpu_method_of_table) \
- VMLINUX_SYMBOL(__cpu_method_of_table_end) = .;
+ *(__cpu_method_of_table_end)
#else
#define CPU_METHOD_OF_TABLES()
#endif
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [RFC PATCH 3/4] vmlinuz.lds: define OF table sections with macros
2014-03-27 19:41 [RFC PATCH 0/4] vmlinux.lds.h clean-ups Rob Herring
2014-03-27 19:41 ` [RFC PATCH 1/4] irqchip: align irqchip OF match table section naming Rob Herring
2014-03-27 19:41 ` [RFC PATCH 2/4] ARM: align cpu_method_of_table naming Rob Herring
@ 2014-03-27 19:41 ` Rob Herring
2014-03-27 19:41 ` Rob Herring
2014-03-27 19:41 ` [RFC PATCH 4/4] vmlinux.lds: define conditional " Rob Herring
2014-04-15 20:34 ` [RFC PATCH 0/4] vmlinux.lds.h clean-ups Rob Herring
4 siblings, 1 reply; 9+ messages in thread
From: Rob Herring @ 2014-03-27 19:41 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: linux-arch, linux-kernel, Russell King, Rob Herring
From: Rob Herring <robh@kernel.org>
OF table sections all have the same pattern, so create a macro to define
them and insure consistency.
Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
---
include/asm-generic/vmlinux.lds.h | 58 ++++++++++-----------------------------
1 file changed, 14 insertions(+), 44 deletions(-)
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index d09e670..000a0f30 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -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() \
+#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(__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_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
-
-#ifdef CONFIG_OF_RESERVED_MEM
-#define RESERVEDMEM_OF_TABLES() \
- . = ALIGN(8); \
- VMLINUX_SYMBOL(__reservedmem_of_table) = .; \
- *(__reservedmem_of_table) \
- *(__reservedmem_of_table_end)
-#else
-#define RESERVEDMEM_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 CPU_METHOD_OF_TABLES() OF_TABLE(CONFIG_SMP, cpu_method)
+#define RESERVEDMEM_OF_TABLES() OF_TABLE(CONFIG_OF_RESERVED_MEM, reservedmem)
#define KERNEL_DTB() \
STRUCT_ALIGN(); \
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [RFC PATCH 3/4] vmlinuz.lds: define OF table sections with macros
2014-03-27 19:41 ` [RFC PATCH 3/4] vmlinuz.lds: define OF table sections with macros Rob Herring
@ 2014-03-27 19:41 ` Rob Herring
0 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2014-03-27 19:41 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: linux-arch, linux-kernel, Russell King, Rob Herring
From: Rob Herring <robh@kernel.org>
OF table sections all have the same pattern, so create a macro to define
them and insure consistency.
Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
---
include/asm-generic/vmlinux.lds.h | 58 ++++++++++-----------------------------
1 file changed, 14 insertions(+), 44 deletions(-)
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index d09e670..000a0f30 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -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() \
+#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(__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_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
-
-#ifdef CONFIG_OF_RESERVED_MEM
-#define RESERVEDMEM_OF_TABLES() \
- . = ALIGN(8); \
- VMLINUX_SYMBOL(__reservedmem_of_table) = .; \
- *(__reservedmem_of_table) \
- *(__reservedmem_of_table_end)
-#else
-#define RESERVEDMEM_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 CPU_METHOD_OF_TABLES() OF_TABLE(CONFIG_SMP, cpu_method)
+#define RESERVEDMEM_OF_TABLES() OF_TABLE(CONFIG_OF_RESERVED_MEM, reservedmem)
#define KERNEL_DTB() \
STRUCT_ALIGN(); \
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [RFC PATCH 4/4] vmlinux.lds: define conditional sections with macros
2014-03-27 19:41 [RFC PATCH 0/4] vmlinux.lds.h clean-ups Rob Herring
` (2 preceding siblings ...)
2014-03-27 19:41 ` [RFC PATCH 3/4] vmlinuz.lds: define OF table sections with macros Rob Herring
@ 2014-03-27 19:41 ` Rob Herring
2014-04-15 20:34 ` [RFC PATCH 0/4] vmlinux.lds.h clean-ups Rob Herring
4 siblings, 0 replies; 9+ messages in thread
From: Rob Herring @ 2014-03-27 19:41 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: linux-arch, linux-kernel, Russell King, Rob Herring
From: Rob Herring <robh@kernel.org>
Various section definitions all use the same pattern. Create a common
macro to define these.
There are a few other instances with a different symbol naming convention
which could also be converted over to use this.
Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
---
include/asm-generic/vmlinux.lds.h | 82 +++++++++++++--------------------------
1 file changed, 27 insertions(+), 55 deletions(-)
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 000a0f30..9a08039 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -84,61 +84,33 @@
#define MEM_DISCARD(sec) *(.mem##sec)
#endif
-#ifdef CONFIG_FTRACE_MCOUNT_RECORD
-#define MCOUNT_REC() . = ALIGN(8); \
- VMLINUX_SYMBOL(__start_mcount_loc) = .; \
- *(__mcount_loc) \
- VMLINUX_SYMBOL(__stop_mcount_loc) = .;
-#else
-#define MCOUNT_REC()
-#endif
-
-#ifdef CONFIG_TRACE_BRANCH_PROFILING
-#define LIKELY_PROFILE() VMLINUX_SYMBOL(__start_annotated_branch_profile) = .; \
- *(_ftrace_annotated_branch) \
- VMLINUX_SYMBOL(__stop_annotated_branch_profile) = .;
-#else
-#define LIKELY_PROFILE()
-#endif
-
-#ifdef CONFIG_PROFILE_ALL_BRANCHES
-#define BRANCH_PROFILE() VMLINUX_SYMBOL(__start_branch_profile) = .; \
- *(_ftrace_branch) \
- VMLINUX_SYMBOL(__stop_branch_profile) = .;
-#else
-#define BRANCH_PROFILE()
-#endif
-
-#ifdef CONFIG_EVENT_TRACING
-#define FTRACE_EVENTS() . = ALIGN(8); \
- VMLINUX_SYMBOL(__start_ftrace_events) = .; \
- *(_ftrace_events) \
- VMLINUX_SYMBOL(__stop_ftrace_events) = .;
-#else
-#define FTRACE_EVENTS()
-#endif
-
-#ifdef CONFIG_TRACING
-#define TRACE_PRINTKS() VMLINUX_SYMBOL(__start___trace_bprintk_fmt) = .; \
- *(__trace_printk_fmt) /* Trace_printk fmt' pointer */ \
- VMLINUX_SYMBOL(__stop___trace_bprintk_fmt) = .;
-#define TRACEPOINT_STR() VMLINUX_SYMBOL(__start___tracepoint_str) = .; \
- *(__tracepoint_str) /* Trace_printk fmt' pointer */ \
- VMLINUX_SYMBOL(__stop___tracepoint_str) = .;
-#else
-#define TRACE_PRINTKS()
-#define TRACEPOINT_STR()
-#endif
-
-#ifdef CONFIG_FTRACE_SYSCALLS
-#define TRACE_SYSCALLS() . = ALIGN(8); \
- VMLINUX_SYMBOL(__start_syscalls_metadata) = .; \
- *(__syscalls_metadata) \
- VMLINUX_SYMBOL(__stop_syscalls_metadata) = .;
-#else
-#define TRACE_SYSCALLS()
-#endif
-
+#define __DEF_SECT(cfg, align, sec, sym) _DEF_SECT_##cfg(align, sec, sym)
+#define _DEF_SECT(cfg, align, sec, sym) __DEF_SECT(cfg, align, sec, sym)
+#define DEF_SECTION_SYM(cfg, align, sec, sym) \
+ _DEF_SECT(config_enabled(cfg), align, sec, sym)
+#define DEF_SECTION(cfg, align, sec) \
+ _DEF_SECT(config_enabled(cfg), align, sec, sec)
+#define _DEF_SECT_0(align, sec, sym)
+#define _DEF_SECT_1(align, sec, sym) \
+ . = ALIGN(align); \
+ VMLINUX_SYMBOL(__start_##sym) = .; \
+ *(##sec) \
+ VMLINUX_SYMBOL(__stop_##sym) = .;
+
+#define MCOUNT_REC() \
+ DEF_SECTION(CONFIG_FTRACE_MCOUNT_RECORD, 8, mcount_loc)
+#define LIKELY_PROFILE() \
+ DEF_SECTION_SYM(CONFIG_TRACE_BRANCH_PROFILING, 1, _ftrace_annotated_branch, annotated_branch_profile)
+#define FTRACE_EVENTS() \
+ DEF_SECTION(CONFIG_EVENT_TRACING, 8, ftrace_events)
+#define BRANCH_PROFILE() \
+ DEF_SECTION_SYM(CONFIG_PROFILE_ALL_BRANCHES, 1, _ftrace_branch, branch_profile)
+#define TRACE_PRINTKS() \
+ DEF_SECTION_SYM(CONFIG_TRACING, 1, __trace_printk_fmt, __trace_bprintk_fmt)
+#define TRACEPOINT_STR() \
+ DEF_SECTION(CONFIG_TRACING, 1, __tracepoint_str)
+#define TRACE_SYSCALLS() \
+ DEF_SECTION_SYM(CONFIG_FTRACE_SYSCALLS, 8, __syscalls_metadata, syscalls_metadata)
#define ___OF_TABLE(cfg, name) _OF_TABLE_##cfg(name)
#define __OF_TABLE(cfg, name) ___OF_TABLE(cfg, name)
--
1.8.3.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [RFC PATCH 0/4] vmlinux.lds.h clean-ups
2014-03-27 19:41 [RFC PATCH 0/4] vmlinux.lds.h clean-ups Rob Herring
` (3 preceding siblings ...)
2014-03-27 19:41 ` [RFC PATCH 4/4] vmlinux.lds: define conditional " Rob Herring
@ 2014-04-15 20:34 ` Rob Herring
2014-04-24 13:23 ` Arnd Bergmann
4 siblings, 1 reply; 9+ messages in thread
From: Rob Herring @ 2014-04-15 20:34 UTC (permalink / raw)
To: Arnd Bergmann
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
Russell King, Rob Herring
On Thu, Mar 27, 2014 at 2:41 PM, Rob Herring <robherring2@gmail.com> wrote:
> From: Rob Herring <robh@kernel.org>
>
> Several DeviceTree related sections have been added recently to enable
> early DT initialization calls. I have the need to add yet another one
> in order to do a DT based earlycon. Since each section follows the same
> pattern, this seemed like a good opportunity for some clean-up. So
> this series creates a common macro to define these sections. with this
> adding any new OF table section is a 2 line change.
>
> Each section ends with a zeroed struct of_device_id (except cpu_method).
> Right now there is an end section and a dummy variable to create the end
> marker. Really, we just need padding here, but I haven't come up with a
> way for the linker script to get the struct size.
>
> The last patch extends the same concept to another common pattern for
> section definitons. There's still others which could be easily converted
> also, but I'm looking for feedback on this approach before proceeding
> any further.
>
> Rob
>
> Rob Herring (4):
> irqchip: align irqchip OF match table section naming
> ARM: align cpu_method_of_table naming
> vmlinuz.lds: define OF table sections with macros
> vmlinux.lds: define conditional sections with macros
>
> arch/arm/kernel/devtree.c | 11 +--
> drivers/irqchip/irqchip.c | 6 +-
> include/asm-generic/vmlinux.lds.h | 142 +++++++++++---------------------------
Arnd, Any comments on this series?
Rob
^ permalink raw reply [flat|nested] 9+ messages in thread