| /* |
| * sercons.c |
| * choose the right serial device at boot time |
| * |
| * triemer 6-SEP-1998 |
| * sercons.c is designed to allow the three different kinds |
| * of serial devices under the decstation world to co-exist |
| * in the same kernel. The idea here is to abstract |
| * the pieces of the drivers that are common to this file |
| * so that they do not clash at compile time and runtime. |
| * |
| * HK 16-SEP-1998 v0.002 |
| * removed the PROM console as this is not a real serial |
| * device. Added support for PROM console in drivers/char/tty_io.c |
| * instead. Although it may work to enable more than one |
| * console device I strongly recommend to use only one. |
| */ |
| |
| #include <linux/config.h> |
| #include <linux/init.h> |
| #include <asm/dec/machtype.h> |
| |
| #ifdef CONFIG_ZS |
| extern int zs_init(void); |
| #endif |
| |
| #ifdef CONFIG_DZ |
| extern int dz_init(void); |
| #endif |
| |
| #ifdef CONFIG_SERIAL_CONSOLE |
| |
| #ifdef CONFIG_ZS |
| extern void zs_serial_console_init(void); |
| #endif |
| |
| #ifdef CONFIG_DZ |
| extern void dz_serial_console_init(void); |
| #endif |
| |
| #endif |
| |
| /* rs_init - starts up the serial interface - |
| handle normal case of starting up the serial interface */ |
| |
| #ifdef CONFIG_SERIAL |
| |
| int __init rs_init(void) |
| { |
| |
| #if defined(CONFIG_ZS) && defined(CONFIG_DZ) |
| if (IOASIC) |
| return zs_init(); |
| else |
| return dz_init(); |
| #else |
| |
| #ifdef CONFIG_ZS |
| return zs_init(); |
| #endif |
| |
| #ifdef CONFIG_DZ |
| return dz_init(); |
| #endif |
| |
| #endif |
| } |
| |
| __initcall(rs_init); |
| |
| #endif |
| |
| #ifdef CONFIG_SERIAL_CONSOLE |
| |
| /* serial_console_init handles the special case of starting |
| * up the console on the serial port |
| */ |
| static int __init decserial_console_init(void) |
| { |
| #if defined(CONFIG_ZS) && defined(CONFIG_DZ) |
| if (IOASIC) |
| zs_serial_console_init(); |
| else |
| dz_serial_console_init(); |
| #else |
| |
| #ifdef CONFIG_ZS |
| zs_serial_console_init(); |
| #endif |
| |
| #ifdef CONFIG_DZ |
| dz_serial_console_init(); |
| #endif |
| |
| #endif |
| return 0; |
| } |
| console_initcall(decserial_console_init); |
| |
| #endif |