1 /* 2 * sercons.c 3 * choose the right serial device at boot time 4 * 5 * triemer 6-SEP-1998 6 * sercons.c is designed to allow the three different kinds 7 * of serial devices under the decstation world to co-exist 8 * in the same kernel. The idea here is to abstract 9 * the pieces of the drivers that are common to this file 10 * so that they do not clash at compile time and runtime. 11 * 12 * HK 16-SEP-1998 v0.002 13 * removed the PROM console as this is not a real serial 14 * device. Added support for PROM console in drivers/char/tty_io.c 15 * instead. Although it may work to enable more than one 16 * console device I strongly recommend to use only one. 17 */ 18 19 #include <linux/config.h> 20 #include <linux/init.h> 21 #include <asm/dec/machtype.h> 22 23 #ifdef CONFIG_ZS 24 extern int zs_init(void); 25 #endif 26 27 #ifdef CONFIG_DZ 28 extern int dz_init(void); 29 #endif 30 31 #ifdef CONFIG_SERIAL_DEC_CONSOLE 32 33 #ifdef CONFIG_ZS 34 extern void zs_serial_console_init(void); 35 #endif 36 37 #ifdef CONFIG_DZ 38 extern void dz_serial_console_init(void); 39 #endif 40 41 #endif 42 43 /* rs_init - starts up the serial interface - 44 handle normal case of starting up the serial interface */ 45 46 #ifdef CONFIG_SERIAL_DEC 47 rs_init(void)48int __init rs_init(void) 49 { 50 51 #if defined(CONFIG_ZS) && defined(CONFIG_DZ) 52 if (IOASIC) 53 return zs_init(); 54 else 55 return dz_init(); 56 #else 57 58 #ifdef CONFIG_ZS 59 return zs_init(); 60 #endif 61 62 #ifdef CONFIG_DZ 63 return dz_init(); 64 #endif 65 66 #endif 67 } 68 69 __initcall(rs_init); 70 71 #endif 72 73 #ifdef CONFIG_SERIAL_DEC_CONSOLE 74 75 /* dec_serial_console_init handles the special case of starting 76 * up the console on the serial port 77 */ dec_serial_console_init(void)78void __init dec_serial_console_init(void) 79 { 80 #if defined(CONFIG_ZS) && defined(CONFIG_DZ) 81 if (IOASIC) 82 zs_serial_console_init(); 83 else 84 dz_serial_console_init(); 85 #else 86 87 #ifdef CONFIG_ZS 88 zs_serial_console_init(); 89 #endif 90 91 #ifdef CONFIG_DZ 92 dz_serial_console_init(); 93 #endif 94 95 #endif 96 } 97 98 #endif 99