| /* | |
| * 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/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 |