Messages in this thread Patch in this message |  | | From | Vegard Nossum <> | Subject | [PATCH 10/12] serial_core: declare __earlycon_table{,_end} as external array | Date | Sun, 16 Oct 2016 17:16:14 +0200 |
| |
Cc: Peter Hurley <peter@hurleysoftware.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com> --- drivers/of/fdt.c | 2 +- drivers/tty/serial/earlycon.c | 2 +- include/asm-generic/vmlinux.lds.h | 8 ++++---- include/linux/serial_core.h | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index c89d5d2..eb41e3d 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -956,7 +956,7 @@ int __init early_init_dt_scan_chosen_stdout(void) return 0; } - for (match = __earlycon_table; match < __earlycon_table_end; match++) { + ext_for_each(match, earlycon_table) { if (!match->compatible[0]) continue; diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c index c365154..f49cfed 100644 --- a/drivers/tty/serial/earlycon.c +++ b/drivers/tty/serial/earlycon.c @@ -180,7 +180,7 @@ int __init setup_earlycon(char *buf) if (early_con.flags & CON_ENABLED) return -EALREADY; - for (match = __earlycon_table; match < __earlycon_table_end; match++) { + ext_for_each(match, earlycon_table) { size_t len = strlen(match->name); if (strncmp(buf, match->name, len)) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index d6121ac..342c2dd 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -154,10 +154,10 @@ #endif #ifdef CONFIG_SERIAL_EARLYCON -#define EARLYCON_TABLE() STRUCT_ALIGN(); \ - VMLINUX_SYMBOL(__earlycon_table) = .; \ - *(__earlycon_table) \ - VMLINUX_SYMBOL(__earlycon_table_end) = .; +#define EARLYCON_TABLE() STRUCT_ALIGN(); \ + VMLINUX_SYMBOL(__start_earlycon_table) = .; \ + *(__earlycon_table) \ + VMLINUX_SYMBOL(__stop_earlycon_table) = .; #else #define EARLYCON_TABLE() #endif diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 3442014..2d35e87 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -22,6 +22,7 @@ #include <linux/compiler.h> +#include <linux/extarray.h> #include <linux/interrupt.h> #include <linux/circ_buf.h> #include <linux/spinlock.h> @@ -349,8 +350,7 @@ struct earlycon_id { int (*setup)(struct earlycon_device *, const char *options); } __aligned(32); -extern const struct earlycon_id __earlycon_table[]; -extern const struct earlycon_id __earlycon_table_end[]; +DECLARE_EXTARRAY(const struct earlycon_id, earlycon_table); #if defined(CONFIG_SERIAL_EARLYCON) && !defined(MODULE) #define EARLYCON_USED_OR_UNUSED __used -- 2.10.0.479.g221bd91
|  |