All of lore.kernel.org
 help / color / mirror / Atom feed
* Console init revamp.
@ 2002-11-06 16:32 David Woodhouse
  2002-11-07  7:29 ` gerg
  0 siblings, 1 reply; 4+ messages in thread
From: David Woodhouse @ 2002-11-06 16:32 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, gerg

This removes all the #ifdef'd calls to initialise individual consoles in 
con_init(), and replaces them with a mechanism akin to initcalls. 

I've fixed all the vmlinux.lds.S files except uCLinux. Greg, how about some 
appropriate #includes to reduce the duplication there?

===== drivers/char/tty_io.c 1.44 vs edited =====
--- 1.44/drivers/char/tty_io.c	Sat Oct 12 02:12:11 2002
+++ edited/drivers/char/tty_io.c	Wed Nov  6 16:18:58 2002
@@ -112,7 +112,15 @@
 #define TTY_PARANOIA_CHECK 1
 #define CHECK_TTY_COUNT 1
 
-struct termios tty_std_termios;		/* for the benefit of tty drivers  */
+struct termios tty_std_termios = {	/* for the benefit of tty drivers  */
+	.c_iflag = ICRNL | IXON,
+	.c_oflag = OPOST | ONLCR,
+	.c_cflag = B38400 | CS8 | CREAD | HUPCL,
+	.c_lflag = ISIG | ICANON | ECHO | ECHOE | ECHOK |
+		   ECHOCTL | ECHOKE | IEXTEN,
+	.c_cc = INIT_C_CC
+};
+
 LIST_HEAD(tty_drivers);			/* linked list of tty drivers */
 struct tty_ldisc ldiscs[NR_LDISCS];	/* line disc dispatch table	*/
 
@@ -140,24 +148,12 @@
 	      unsigned int cmd, unsigned long arg);
 static int tty_fasync(int fd, struct file * filp, int on);
 extern int vme_scc_init (void);
-extern long vme_scc_console_init(void);
 extern int serial167_init(void);
-extern long serial167_console_init(void);
-extern void console_8xx_init(void);
 extern int rs_8xx_init(void);
-extern void mac_scc_console_init(void);
-extern void hwc_console_init(void);
 extern void hwc_tty_init(void);
-extern void con3215_init(void);
 extern void tty3215_init(void);
-extern void tub3270_con_init(void);
 extern void tub3270_init(void);
-extern void uart_console_init(void);
-extern void sgi_serial_console_init(void);
-extern void sci_console_init(void);
-extern void tx3912_console_init(void);
 extern void tx3912_rs_init(void);
-extern void hvc_console_init(void);
 
 #ifndef MIN
 #define MIN(a,b)	((a) < (b) ? (a) : (b))
@@ -2157,82 +2153,24 @@
  */
 void __init console_init(void)
 {
+	initcall_t *call;
+
 	/* Setup the default TTY line discipline. */
-	memset(ldiscs, 0, sizeof(ldiscs));
 	(void) tty_register_ldisc(N_TTY, &tty_ldisc_N_TTY);
 
 	/*
-	 * Set up the standard termios.  Individual tty drivers may 
-	 * deviate from this; this is used as a template.
-	 */
-	memset(&tty_std_termios, 0, sizeof(struct termios));
-	memcpy(tty_std_termios.c_cc, INIT_C_CC, NCCS);
-	tty_std_termios.c_iflag = ICRNL | IXON;
-	tty_std_termios.c_oflag = OPOST | ONLCR;
-	tty_std_termios.c_cflag = B38400 | CS8 | CREAD | HUPCL;
-	tty_std_termios.c_lflag = ISIG | ICANON | ECHO | ECHOE | ECHOK |
-		ECHOCTL | ECHOKE | IEXTEN;
-
-	/*
 	 * set up the console device so that later boot sequences can 
 	 * inform about problems etc..
 	 */
 #ifdef CONFIG_EARLY_PRINTK
 	disable_early_printk();
 #endif
-#ifdef CONFIG_VT
-	con_init();
-#endif
-#ifdef CONFIG_AU1000_SERIAL_CONSOLE
-	au1000_serial_console_init();
-#endif
-#ifdef CONFIG_SERIAL_CONSOLE
-#if (defined(CONFIG_8xx) || defined(CONFIG_8260))
-	console_8xx_init();
-#elif defined(CONFIG_MAC_SERIAL)
- 	mac_scc_console_init();
-#elif defined(CONFIG_PARISC)
-	pdc_console_init();
-#elif defined(CONFIG_SERIAL)
-	serial_console_init();
-#endif /* CONFIG_8xx */
-#ifdef CONFIG_SGI_SERIAL
-	sgi_serial_console_init();
-#endif
-#if defined(CONFIG_MVME162_SCC) || defined(CONFIG_BVME6000_SCC) || defined(CONFIG_MVME147_SCC)
-	vme_scc_console_init();
-#endif
-#if defined(CONFIG_SERIAL167)
-	serial167_console_init();
-#endif
-#if defined(CONFIG_SH_SCI)
-	sci_console_init();
-#endif
-#endif
-#ifdef CONFIG_TN3270_CONSOLE
-	tub3270_con_init();
-#endif
-#ifdef CONFIG_TN3215
-	con3215_init();
-#endif
-#ifdef CONFIG_HWC
-        hwc_console_init();
-#endif
-#ifdef CONFIG_STDIO_CONSOLE
-	stdio_console_init();
-#endif
-#ifdef CONFIG_SERIAL_CORE_CONSOLE
-	uart_console_init();
-#endif
-#ifdef CONFIG_ARC_CONSOLE
-	arc_console_init();
-#endif
-#ifdef CONFIG_SERIAL_TX3912_CONSOLE
-	tx3912_console_init();
-#endif
-#ifdef CONFIG_HVC_CONSOLE
-	hvc_console_init();
-#endif
+
+	call = &__con_initcall_start;
+	while (call < &__con_initcall_end) {
+		(*call)();
+		call++;
+	};
 }
 
 static struct tty_driver dev_tty_driver, dev_syscons_driver;
===== drivers/serial/core.c 1.17 vs edited =====
--- 1.17/drivers/serial/core.c	Sat Nov  2 16:52:24 2002
+++ edited/drivers/serial/core.c	Wed Nov  6 16:19:03 2002
@@ -1827,42 +1827,6 @@
 
 	return 0;
 }
-
-extern void ambauart_console_init(void);
-extern void anakin_console_init(void);
-extern void clps711xuart_console_init(void);
-extern void rs285_console_init(void);
-extern void sa1100_rs_console_init(void);
-extern void serial8250_console_init(void);
-extern void uart00_console_init(void);
-
-/*
- * Central "initialise all serial consoles" container.  Needs to be killed.
- */
-void __init uart_console_init(void)
-{
-#ifdef CONFIG_SERIAL_AMBA_CONSOLE
-	ambauart_console_init();
-#endif
-#ifdef CONFIG_SERIAL_ANAKIN_CONSOLE
-	anakin_console_init();
-#endif
-#ifdef CONFIG_SERIAL_CLPS711X_CONSOLE
-	clps711xuart_console_init();
-#endif
-#ifdef CONFIG_SERIAL_21285_CONSOLE
-	rs285_console_init();
-#endif
-#ifdef CONFIG_SERIAL_SA1100_CONSOLE
-	sa1100_rs_console_init();
-#endif
-#ifdef CONFIG_SERIAL_8250_CONSOLE
-	serial8250_console_init();
-#endif
-#ifdef CONFIG_SERIAL_UART00_CONSOLE
-	uart00_console_init();
-#endif
-}
 #endif /* CONFIG_SERIAL_CORE_CONSOLE */
 
 #ifdef CONFIG_PM
===== drivers/char/amiserial.c 1.10 vs edited =====
--- 1.10/drivers/char/amiserial.c	Mon Jul 22 14:42:36 2002
+++ edited/drivers/char/amiserial.c	Wed Nov  6 16:18:57 2002
@@ -2322,10 +2322,11 @@
 /*
  *	Register console.
  */
-void __init serial_console_init(void)
+static void __init amiserial_console_init(void)
 {
 	register_console(&sercons);
 }
+console_initcall(amiserial_console_init);
 #endif
 
 MODULE_LICENSE("GPL");
===== drivers/char/decserial.c 1.2 vs edited =====
--- 1.2/drivers/char/decserial.c	Tue Feb  5 07:45:05 2002
+++ edited/drivers/char/decserial.c	Wed Nov  6 16:18:57 2002
@@ -75,7 +75,7 @@
 /* serial_console_init handles the special case of starting
  *   up the console on the serial port
  */
-void __init serial_console_init(void)
+static void __init decserial_console_init(void)
 {
 #if defined(CONFIG_ZS) && defined(CONFIG_DZ)
     if (IOASIC)
@@ -94,5 +94,6 @@
 
 #endif
 }
+console_initcall(decserial_console_init);
 
 #endif
===== drivers/char/hvc_console.c 1.9 vs edited =====
--- 1.9/drivers/char/hvc_console.c	Sun Sep 15 19:35:38 2002
+++ edited/drivers/char/hvc_console.c	Wed Nov  6 16:18:57 2002
@@ -348,11 +348,12 @@
 	index:		-1,
 };
 
-int __init hvc_console_init(void)
+static int __init hvc_console_init(void)
 {
 	register_console(&hvc_con_driver);
 	return 0;
 }
+console_initcall(hvc_console_init);
 
 module_init(hvc_init);
 module_exit(hvc_exit);
===== drivers/char/serial167.c 1.12 vs edited =====
--- 1.12/drivers/char/serial167.c	Mon Oct  7 19:39:20 2002
+++ edited/drivers/char/serial167.c	Wed Nov  6 16:18:58 2002
@@ -2836,7 +2836,7 @@
 };
 
 
-void __init serial167_console_init(void)
+static void __init serial167_console_init(void)
 {
 	if (vme_brdtype == VME_TYPE_MVME166 ||
 			vme_brdtype == VME_TYPE_MVME167 ||
@@ -2845,6 +2845,7 @@
 		register_console(&sercons);
 	}
 }
+console_initcall(serial167_console_init);
 
 #ifdef CONFIG_REMOTE_DEBUG
 void putDebugChar (int c)
===== drivers/char/serial_tx3912.c 1.6 vs edited =====
--- 1.6/drivers/char/serial_tx3912.c	Tue Sep 10 10:10:44 2002
+++ edited/drivers/char/serial_tx3912.c	Wed Nov  6 16:18:58 2002
@@ -1054,9 +1054,10 @@
 	index:    -1
 };
 
-void __init tx3912_console_init(void)
+static void __init tx3912_console_init(void)
 {
 	register_console(&sercons);
 }
+console_initcall(tx3912_console_init);
 
 #endif
===== drivers/char/sh-sci.c 1.11 vs edited =====
--- 1.11/drivers/char/sh-sci.c	Tue Oct  1 17:10:55 2002
+++ edited/drivers/char/sh-sci.c	Wed Nov  6 16:18:58 2002
@@ -1275,7 +1275,7 @@
 extern void sh_console_unregister (void);
 #endif
 
-void __init sci_console_init(void)
+static void __init sci_console_init(void)
 {
 	register_console(&sercons);
 #ifdef CONFIG_SH_EARLY_PRINTK
@@ -1285,4 +1285,6 @@
 	sh_console_unregister();
 #endif
 }
+console_initcall(sci_console_init);
+
 #endif /* CONFIG_SERIAL_CONSOLE */
===== drivers/char/vme_scc.c 1.8 vs edited =====
--- 1.8/drivers/char/vme_scc.c	Tue Oct 22 21:51:04 2002
+++ edited/drivers/char/vme_scc.c	Wed Nov  6 16:18:58 2002
@@ -1103,7 +1103,7 @@
 };
 
 
-void __init vme_scc_console_init(void)
+static void __init vme_scc_console_init(void)
 {
 	if (vme_brdtype == VME_TYPE_MVME147 ||
 			vme_brdtype == VME_TYPE_MVME162 ||
@@ -1112,4 +1112,4 @@
 			vme_brdtype == VME_TYPE_BVME6000)
 		register_console(&sercons);
 }
-
+console_initcall(vme_scc_console_init);
===== drivers/char/vt.c 1.20 vs edited =====
--- 1.20/drivers/char/vt.c	Tue Oct  1 17:56:05 2002
+++ edited/drivers/char/vt.c	Wed Nov  6 16:18:58 2002
@@ -2435,7 +2435,7 @@
 struct tty_driver console_driver;
 static int console_refcount;
 
-void __init con_init(void)
+static void __init con_init(void)
 {
 	const char *display_desc = NULL;
 	unsigned int currcons = 0;
@@ -2484,6 +2484,7 @@
 	register_console(&vt_console_driver);
 #endif
 }
+console_initcall(con_init);
 
 int __init vty_init(void)
 {
===== drivers/macintosh/macserial.c 1.10 vs edited =====
--- 1.10/drivers/macintosh/macserial.c	Mon Oct  7 19:39:20 2002
+++ edited/drivers/macintosh/macserial.c	Wed Nov  6 16:18:58 2002
@@ -3088,10 +3088,12 @@
 /*
  *	Register console.
  */
-void __init mac_scc_console_init(void)
+static void __init mac_scc_console_init(void)
 {
 	register_console(&sercons);
 }
+console_initcall(mac_scc_console_init);
+
 #endif /* ifdef CONFIG_SERIAL_CONSOLE */
 
 #ifdef CONFIG_KGDB
===== drivers/s390/char/con3215.c 1.9 vs edited =====
--- 1.9/drivers/s390/char/con3215.c	Wed Oct  9 15:01:20 2002
+++ edited/drivers/s390/char/con3215.c	Wed Nov  6 16:18:59 2002
@@ -1052,7 +1052,7 @@
  * 3215 console initialization code called from console_init().
  * NOTE: This is called before kmalloc is available.
  */
-void __init con3215_init(void)
+static void __init con3215_init(void)
 {
 #ifdef CONFIG_TN3215_CONSOLE
 	raw3215_info *raw;
@@ -1126,6 +1126,7 @@
 	}
 #endif
 }
+console_initcall(con3215_init);
 
 /*
  * 3215 tty registration code called from tty_init().
===== drivers/s390/char/hwc_con.c 1.5 vs edited =====
--- 1.5/drivers/s390/char/hwc_con.c	Thu Jun  6 22:29:46 2002
+++ edited/drivers/s390/char/hwc_con.c	Wed Nov  6 16:18:59 2002
@@ -73,7 +73,7 @@
 
 #endif
 
-void __init 
+static void __init 
 hwc_console_init (void)
 {
 	if (!MACHINE_HAS_HWC)
@@ -90,3 +90,4 @@
 
 	return;
 }
+console_initcall(hwc_console_init);
===== drivers/s390/char/tuball.c 1.8 vs edited =====
--- 1.8/drivers/s390/char/tuball.c	Wed Oct  9 15:01:46 2002
+++ edited/drivers/s390/char/tuball.c	Wed Nov  6 16:18:59 2002
@@ -131,7 +131,7 @@
 #else
 #define tub3270_con_devno console_device
 
-void __init tub3270_con_init(void)
+static void __init tub3270_con_init(void)
 {
 	tub3270_con_bcb.bc_len = 65536;
 	if (!CONSOLE_IS_3270)
@@ -140,6 +140,8 @@
 		tub3270_con_bcb.bc_len);
 	register_console(&tub3270_con);
 }
+console_initcall(tub3270_con_init);
+
 #endif
 
 static kdev_t
===== drivers/serial/21285.c 1.10 vs edited =====
--- 1.10/drivers/serial/21285.c	Sat Nov  2 14:11:04 2002
+++ edited/drivers/serial/21285.c	Wed Nov  6 16:19:00 2002
@@ -471,11 +471,12 @@
 	.index		= -1,
 };
 
-void __init rs285_console_init(void)
+static void __init rs285_console_init(void)
 {
 	serial21285_setup_ports();
 	register_console(&serial21285_console);
 }
+console_initcall(rs283_console_init);
 
 #define SERIAL_21285_CONSOLE	&serial21285_console
 #else
===== drivers/serial/8250.c 1.22 vs edited =====
--- 1.22/drivers/serial/8250.c	Sat Nov  2 16:47:18 2002
+++ edited/drivers/serial/8250.c	Wed Nov  6 16:19:00 2002
@@ -1908,11 +1908,12 @@
 	.index		= -1,
 };
 
-void __init serial8250_console_init(void)
+static void __init serial8250_console_init(void)
 {
 	serial8250_isa_init_ports();
 	register_console(&serial8250_console);
 }
+console_initcall(serial8250_console_init);
 
 #define SERIAL8250_CONSOLE	&serial8250_console
 #else
===== drivers/serial/amba.c 1.12 vs edited =====
--- 1.12/drivers/serial/amba.c	Mon Nov  4 14:58:44 2002
+++ edited/drivers/serial/amba.c	Wed Nov  6 16:19:01 2002
@@ -693,10 +693,11 @@
 	.index		= -1,
 };
 
-void __init ambauart_console_init(void)
+static void __init ambauart_console_init(void)
 {
 	register_console(&amba_console);
 }
+console_initcall(ambauart_console_init);
 
 #define AMBA_CONSOLE	&amba_console
 #else
===== drivers/serial/anakin.c 1.9 vs edited =====
--- 1.9/drivers/serial/anakin.c	Mon Nov  4 14:58:44 2002
+++ edited/drivers/serial/anakin.c	Wed Nov  6 16:19:01 2002
@@ -478,11 +478,12 @@
 	.index		= -1,
 };
 
-void __init
+static void __init
 anakin_console_init(void)
 {
 	register_console(&anakin_console);
 }
+console_initcall(anakin_console_init);
 
 #define ANAKIN_CONSOLE		&anakin_console
 #else
===== drivers/serial/clps711x.c 1.9 vs edited =====
--- 1.9/drivers/serial/clps711x.c	Mon Nov  4 14:58:45 2002
+++ edited/drivers/serial/clps711x.c	Wed Nov  6 16:19:02 2002
@@ -553,10 +553,11 @@
 	.index		= -1,
 };
 
-void __init clps711xuart_console_init(void)
+static void __init clps711xuart_console_init(void)
 {
 	register_console(&clps711x_console);
 }
+console_initcall(clps711xuart_console_init);
 
 #define CLPS711X_CONSOLE	&clps711x_console
 #else
===== drivers/serial/sa1100.c 1.12 vs edited =====
--- 1.12/drivers/serial/sa1100.c	Sat Nov  2 14:11:05 2002
+++ edited/drivers/serial/sa1100.c	Wed Nov  6 16:19:03 2002
@@ -813,11 +813,12 @@
 	.index		= -1,
 };
 
-void __init sa1100_rs_console_init(void)
+static void __init sa1100_rs_console_init(void)
 {
 	sa1100_init_ports();
 	register_console(&sa1100_console);
 }
+console_initcall(sa1100_rs_console_init);
 
 #define SA1100_CONSOLE	&sa1100_console
 #else
===== drivers/serial/uart00.c 1.7 vs edited =====
--- 1.7/drivers/serial/uart00.c	Mon Nov  4 14:58:45 2002
+++ edited/drivers/serial/uart00.c	Wed Nov  6 16:19:04 2002
@@ -628,10 +628,11 @@
 	.index		= 0,
 };
 
-void __init uart00_console_init(void)
+static void __init uart00_console_init(void)
 {
 	register_console(&uart00_console);
 }
+console_initcall(uart00_console_init);
 
 #define UART00_CONSOLE	&uart00_console
 #else
===== drivers/sgi/char/sgiserial.c 1.6 vs edited =====
--- 1.6/drivers/sgi/char/sgiserial.c	Mon Oct  7 19:39:20 2002
+++ edited/drivers/sgi/char/sgiserial.c	Wed Nov  6 16:19:04 2002
@@ -2269,8 +2269,10 @@
 /*
  *	Register console.
  */
-void __init sgi_serial_console_init(void)
+static void __init sgi_serial_console_init(void)
 {
 	register_console(&sgi_console_driver);
 }
+console_initcall(sgi_serial_console_init);
+
 __initcall(rs_init);
===== include/linux/init.h 1.16 vs edited =====
--- 1.16/include/linux/init.h	Sat Oct 26 01:17:41 2002
+++ edited/include/linux/init.h	Wed Nov  6 16:19:04 2002
@@ -49,6 +49,7 @@
 typedef void (*exitcall_t)(void);
 
 extern initcall_t __initcall_start, __initcall_end;
+extern initcall_t __con_initcall_start, __con_initcall_end;
 
 /* initcalls are now grouped by functionality into separate 
  * subsections. Ordering inside the subsections is determined
@@ -72,6 +73,9 @@
 
 #define __exitcall(fn)								\
 	static exitcall_t __exitcall_##fn __exit_call = fn
+
+#define console_initcall(fn) \
+	static initcall_t __initcall_##fn __attribute__ ((unused,__section__ (".con_initcall.init")))=fn
 
 /*
  * Used for kernel command line parameter setup
===== arch/alpha/vmlinux.lds.S 1.12 vs edited =====
--- 1.12/arch/alpha/vmlinux.lds.S	Tue Nov  5 16:08:10 2002
+++ edited/arch/alpha/vmlinux.lds.S	Wed Nov  6 16:18:52 2002
@@ -73,6 +73,12 @@
 	__initramfs_end = .;
   }
 
+  .con_initcall.init ALIGN(8): {
+	__con_initcall_start = .;
+	*(.con_initcall.init)
+	__con_initcall_end = .;
+  }
+
   .data.percpu ALIGN(64): {
 	__per_cpu_start = .;
 	*(.data.percpu)
===== arch/arm/vmlinux-armo.lds.in 1.10 vs edited =====
--- 1.10/arch/arm/vmlinux-armo.lds.in	Sun Oct 20 01:10:46 2002
+++ edited/arch/arm/vmlinux-armo.lds.in	Wed Nov  6 16:18:52 2002
@@ -35,6 +35,9 @@
 			*(.initcall6.init)
 			*(.initcall7.init)
 		__initcall_end = .;
+		__con_initcall_start = .;
+			*(.con_initcall.init)
+		__con_initcall_end = .;
 		. = ALIGN(32768);
 		__init_end = .;
 	}
===== arch/arm/vmlinux-armv.lds.in 1.14 vs edited =====
--- 1.14/arch/arm/vmlinux-armv.lds.in	Tue Nov  5 17:12:16 2002
+++ edited/arch/arm/vmlinux-armv.lds.in	Wed Nov  6 16:22:05 2002
@@ -35,6 +35,9 @@
 			*(.initcall6.init)
 			*(.initcall7.init)
 		__initcall_end = .;
+		__con_initcall_start = .;
+			*(.con_initcall.init)
+		__con_initcall_end = .;
 		. = ALIGN(32);
 		__initramfs_start = .;
 			usr/built-in.o(.init.ramfs)
===== arch/cris/vmlinux.lds.S 1.12 vs edited =====
--- 1.12/arch/cris/vmlinux.lds.S	Wed Sep 18 00:37:53 2002
+++ edited/arch/cris/vmlinux.lds.S	Wed Nov  6 16:18:53 2002
@@ -73,7 +73,12 @@
 		*(.initcall6.init);
 		*(.initcall7.init);
 		__initcall_end = .;
-
+	}
+	.con_initcall.init : {
+		__con_initcall_start = .;
+		*(.con_initcall.init)
+		__con_initcall_end = .;
+	
 		/* We fill to the next page, so we can discard all init
 		   pages without needing to consider what payload might be
 		   appended to the kernel image.  */
===== arch/i386/vmlinux.lds.S 1.19 vs edited =====
--- 1.19/arch/i386/vmlinux.lds.S	Mon Nov  4 22:04:41 2002
+++ edited/arch/i386/vmlinux.lds.S	Wed Nov  6 16:21:25 2002
@@ -77,6 +77,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(4096);
   __initramfs_start = .;
   .init.ramfs : { *(.init.ramfs) }
===== arch/ia64/vmlinux.lds.S 1.17 vs edited =====
--- 1.17/arch/ia64/vmlinux.lds.S	Fri Nov  1 05:45:22 2002
+++ edited/arch/ia64/vmlinux.lds.S	Wed Nov  6 16:18:53 2002
@@ -114,6 +114,10 @@
 		*(.initcall7.init)
 	}
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : AT(ADDR(.con_initcall.init) - PAGE_OFFSET)
+	{ *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(PAGE_SIZE);
   __init_end = .;
 
===== arch/m68k/vmlinux-std.lds 1.9 vs edited =====
--- 1.9/arch/m68k/vmlinux-std.lds	Wed Oct 23 17:34:05 2002
+++ edited/arch/m68k/vmlinux-std.lds	Wed Nov  6 16:18:54 2002
@@ -58,6 +58,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(8192);
   __init_end = .;
 
===== arch/m68k/vmlinux-sun3.lds 1.6 vs edited =====
--- 1.6/arch/m68k/vmlinux-sun3.lds	Wed Oct 23 17:34:05 2002
+++ edited/arch/m68k/vmlinux-sun3.lds	Wed Nov  6 16:18:54 2002
@@ -54,6 +54,9 @@
 		*(.initcall7.init)
 	}
 	__initcall_end = .;
+	__con_initcall_start = .;
+	.con_initcall.init : { *(.con_initcall.init) }
+	__con_initcall_end = .;
 	. = ALIGN(8192);
 	__init_end = .;
 	.init.task : { *(init_task) }
===== arch/mips/vmlinux.lds.S 1.4 vs edited =====
--- 1.4/arch/mips/vmlinux.lds.S	Wed Sep 18 00:38:49 2002
+++ edited/arch/mips/vmlinux.lds.S	Wed Nov  6 16:18:54 2002
@@ -54,6 +54,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(4096);	/* Align double page for init_task_union */
   __init_end = .;
 
===== arch/mips/arc/arc_con.c 1.1 vs edited =====
--- 1.1/arch/mips/arc/arc_con.c	Tue Feb  5 18:12:45 2002
+++ edited/arch/mips/arc/arc_con.c	Wed Nov  6 16:18:54 2002
@@ -63,7 +63,8 @@
  *    Register console.
  */
 
-void __init arc_console_init(void)
+static void __init arc_console_init(void)
 {
 	register_console(&arc_cons);
 }
+console_initcall(arc_console_init);
===== arch/mips/au1000/common/serial.c 1.4 vs edited =====
--- 1.4/arch/mips/au1000/common/serial.c	Tue Sep 17 18:26:46 2002
+++ edited/arch/mips/au1000/common/serial.c	Wed Nov  6 16:18:55 2002
@@ -3054,10 +3054,11 @@
 /*
  *	Register console.
  */
-void __init au1000_serial_console_init(void)
+static void __init au1000_serial_console_init(void)
 {
 	register_console(&sercons);
 }
+console_initcall(au1000_serial_console_init);
 #endif
 
 /*
===== arch/mips64/vmlinux.lds.S 1.4 vs edited =====
--- 1.4/arch/mips64/vmlinux.lds.S	Sat Aug 17 04:08:39 2002
+++ edited/arch/mips64/vmlinux.lds.S	Wed Nov  6 16:18:55 2002
@@ -50,6 +50,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(4096);	/* Align double page for init_task_union */
   __init_end = .;
 
===== arch/parisc/vmlinux.lds.S 1.6 vs edited =====
--- 1.6/arch/parisc/vmlinux.lds.S	Mon Oct 28 10:32:57 2002
+++ edited/arch/parisc/vmlinux.lds.S	Wed Nov  6 16:18:55 2002
@@ -79,6 +79,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(32);
   __per_cpu_start = .;
   .data.percpu  : { *(.data.percpu) }
===== arch/ppc/vmlinux.lds.S 1.12 vs edited =====
--- 1.12/arch/ppc/vmlinux.lds.S	Fri Oct 18 13:24:04 2002
+++ edited/arch/ppc/vmlinux.lds.S	Wed Nov  6 16:18:55 2002
@@ -112,6 +112,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(32);
   __per_cpu_start = .;
   .data.percpu  : { *(.data.percpu) }
===== arch/ppc/8xx_io/uart.c 1.16 vs edited =====
--- 1.16/arch/ppc/8xx_io/uart.c	Wed Sep 18 07:26:40 2002
+++ edited/arch/ppc/8xx_io/uart.c	Wed Nov  6 16:18:55 2002
@@ -2522,12 +2522,11 @@
 /*
  *	Register console.
  */
-long __init console_8xx_init(long kmem_start, long kmem_end)
+static void __init console_8xx_init(long kmem_start, long kmem_end)
 {
 	register_console(&sercons);
-	return kmem_start;
 }
-
+console_initcall(console_8xx_init);
 #endif
 
 /* Index in baud rate table of the default console baud rate.
===== arch/ppc64/vmlinux.lds.S 1.6 vs edited =====
--- 1.6/arch/ppc64/vmlinux.lds.S	Tue Sep 17 23:58:28 2002
+++ edited/arch/ppc64/vmlinux.lds.S	Wed Nov  6 16:18:55 2002
@@ -110,6 +110,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(32);
   __per_cpu_start = .;
   .data.percpu  : { *(.data.percpu) }
===== arch/s390/vmlinux.lds.S 1.4 vs edited =====
--- 1.4/arch/s390/vmlinux.lds.S	Wed Oct  9 15:01:28 2002
+++ edited/arch/s390/vmlinux.lds.S	Wed Nov  6 16:18:55 2002
@@ -64,6 +64,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(256);
   __per_cpu_start = .;
   .data.percpu  : { *(.data.percpu) }
===== arch/s390x/vmlinux.lds.S 1.4 vs edited =====
--- 1.4/arch/s390x/vmlinux.lds.S	Wed Oct  9 15:01:28 2002
+++ edited/arch/s390x/vmlinux.lds.S	Wed Nov  6 16:18:55 2002
@@ -64,6 +64,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(256);
   __per_cpu_start = .;
   .data.percpu  : { *(.data.percpu) }
===== arch/sh/vmlinux.lds.S 1.6 vs edited =====
--- 1.6/arch/sh/vmlinux.lds.S	Fri May 10 18:24:46 2002
+++ edited/arch/sh/vmlinux.lds.S	Wed Nov  6 16:18:56 2002
@@ -74,6 +74,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   __machvec_start = .;
   .machvec.init : { *(.machvec.init) }
   __machvec_end = .;
===== arch/sparc/vmlinux.lds.S 1.9 vs edited =====
--- 1.9/arch/sparc/vmlinux.lds.S	Tue Nov  5 15:52:17 2002
+++ edited/arch/sparc/vmlinux.lds.S	Wed Nov  6 16:21:10 2002
@@ -56,6 +56,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(4096);
   __initramfs_start = .;
   .init.ramfs : { *(.init.ramfs) }
===== arch/sparc64/vmlinux.lds.S 1.10 vs edited =====
--- 1.10/arch/sparc64/vmlinux.lds.S	Tue Nov  5 15:50:52 2002
+++ edited/arch/sparc64/vmlinux.lds.S	Wed Nov  6 16:21:17 2002
@@ -57,6 +57,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(8192); 
   __initramfs_start = .;
   .init.ramfs : { *(.init.ramfs) }
===== arch/um/drivers/stdio_console.c 1.3 vs edited =====
--- 1.3/arch/um/drivers/stdio_console.c	Wed Oct 16 02:44:46 2002
+++ edited/arch/um/drivers/stdio_console.c	Wed Nov  6 16:18:57 2002
@@ -185,12 +185,13 @@
 					       console_device, console_setup,
 					       CON_PRINTBUFFER);
 
-void stdio_console_init(void)
+static void __init stdio_console_init(void)
 {
 	INIT_LIST_HEAD(&vts[0].chan_list);
 	list_add(&init_console_chan.list, &vts[0].chan_list);
 	register_console(&stdiocons);
 }
+console_initcall(stdio_console_init);
 
 static int console_chan_setup(char *str)
 {
===== arch/x86_64/vmlinux.lds.S 1.7 vs edited =====
--- 1.7/arch/x86_64/vmlinux.lds.S	Mon Oct 21 14:47:25 2002
+++ edited/arch/x86_64/vmlinux.lds.S	Wed Nov  6 16:18:57 2002
@@ -98,6 +98,9 @@
 	*(.initcall7.init)
   }
   __initcall_end = .;
+  __con_initcall_start = .;
+  .con_initcall.init : { *(.con_initcall.init) }
+  __con_initcall_end = .;
   . = ALIGN(32);
   __per_cpu_start = .;
   .data.percpu  : { *(.data.percpu) }

--
dwmw2



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-11-07  7:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-06 16:32 Console init revamp David Woodhouse
2002-11-07  7:29 ` gerg
2002-11-07  7:41   ` David Woodhouse
2002-11-07  7:54     ` gerg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.