diff options
| author | Andrew Morton <akpm@osdl.org> | 2003-09-23 09:43:28 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.osdl.org> | 2003-09-23 09:43:28 -0700 |
| commit | f751e52a867c5092ebbb0d9f3402eb476df3135f (patch) | |
| tree | 895d20c56934f3a659ffaf4c04cd37c336156e3d | |
| parent | 905f90fe27a234815bb29fa850af396c537c5960 (diff) | |
[PATCH] switch remaining serial drivers to initcalls
From: Christoph Hellwig <hch@lst.de>
All drivers that compile on ppc with CONFIG_ISA set (= all but
some m68-only drivers), I looked at the compile warnings very
closely and there are no new warnings or even errors this time :)
drivers/char/Makefile needed to be reordered big time to keep
the intialization order the same.
| -rw-r--r-- | arch/ppc/8260_io/uart.c | 7 | ||||
| -rw-r--r-- | arch/ppc/8xx_io/uart.c | 7 | ||||
| -rw-r--r-- | drivers/char/Makefile | 63 | ||||
| -rw-r--r-- | drivers/char/cyclades.c | 12 | ||||
| -rw-r--r-- | drivers/char/ip2.c | 48 | ||||
| -rw-r--r-- | drivers/char/moxa.c | 68 | ||||
| -rw-r--r-- | drivers/char/pcxx.c | 14 | ||||
| -rw-r--r-- | drivers/char/pty.c | 3 | ||||
| -rw-r--r-- | drivers/char/ser_a2232.c | 17 | ||||
| -rw-r--r-- | drivers/char/serial167.c | 8 | ||||
| -rw-r--r-- | drivers/char/serial_tx3912.c | 3 | ||||
| -rw-r--r-- | drivers/char/specialix.c | 13 | ||||
| -rw-r--r-- | drivers/char/tty_io.c | 52 | ||||
| -rw-r--r-- | drivers/char/vme_scc.c | 8 | ||||
| -rw-r--r-- | drivers/macintosh/macserial.c | 3 | ||||
| -rw-r--r-- | drivers/s390/char/tuball.c | 33 | ||||
| -rw-r--r-- | include/linux/tty.h | 16 |
17 files changed, 111 insertions, 264 deletions
diff --git a/arch/ppc/8260_io/uart.c b/arch/ppc/8260_io/uart.c index a2aca963a594..2b240daef6eb 100644 --- a/arch/ppc/8260_io/uart.c +++ b/arch/ppc/8260_io/uart.c @@ -18,10 +18,6 @@ * It still needs lots of work........When it was easy, I included code * to support the SCCs. * Only the SCCs support modem control, so that is not complete either. - * - * This module exports the following rs232 io functions: - * - * int rs_8xx_init(void); */ #include <linux/config.h> @@ -2507,7 +2503,7 @@ static struct tty_operations rs_8xx_ops = { /* * The serial driver boot-time initialization code! */ -int __init rs_8xx_init(void) +static int __init rs_8xx_init(void) { struct serial_state * state; ser_info_t *info; @@ -2867,6 +2863,7 @@ int __init rs_8xx_init(void) } return 0; } +module_init(rs_8xx_init); /* This must always be called before the rs_8xx_init() function, otherwise * it blows away the port control information. diff --git a/arch/ppc/8xx_io/uart.c b/arch/ppc/8xx_io/uart.c index ec14afca7c9e..d0701bd03381 100644 --- a/arch/ppc/8xx_io/uart.c +++ b/arch/ppc/8xx_io/uart.c @@ -12,10 +12,6 @@ * It still needs lots of work........When it was easy, I included code * to support the SCCs, but this has never been tested, nor is it complete. * Only the SCCs support modem control, so that is not complete either. - * - * This module exports the following rs232 io functions: - * - * int rs_8xx_init(void); */ #include <linux/config.h> @@ -2499,7 +2495,7 @@ static struct tty_operations rs_8xx_ops = { /* * The serial driver boot-time initialization code! */ -int __init rs_8xx_init(void) +static int __init rs_8xx_init(void) { struct serial_state * state; ser_info_t *info; @@ -2846,6 +2842,7 @@ int __init rs_8xx_init(void) return 0; } +module_init(rs_8xx_init); /* This must always be called before the rs_8xx_init() function, otherwise * it blows away the port control information. diff --git a/drivers/char/Makefile b/drivers/char/Makefile index b53d91f5c10d..65eeb6b8ca7d 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -9,38 +9,39 @@ FONTMAPFILE = cp437.uni obj-y += mem.o random.o tty_io.o n_tty.o tty_ioctl.o pty.o misc.o -obj-$(CONFIG_VT) += vt_ioctl.o vc_screen.o consolemap.o consolemap_deftbl.o selection.o keyboard.o -obj-$(CONFIG_HW_CONSOLE) += vt.o defkeymap.o -obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o -obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o -obj-$(CONFIG_ROCKETPORT) += rocket.o -obj-$(CONFIG_MOXA_SMARTIO) += mxser.o -obj-$(CONFIG_MOXA_INTELLIO) += moxa.o -obj-$(CONFIG_DIGI) += pcxx.o -obj-$(CONFIG_DIGIEPCA) += epca.o -obj-$(CONFIG_CYCLADES) += cyclades.o -obj-$(CONFIG_STALLION) += stallion.o -obj-$(CONFIG_ISTALLION) += istallion.o -obj-$(CONFIG_COMPUTONE) += ip2.o ip2main.o -obj-$(CONFIG_RISCOM8) += riscom8.o -obj-$(CONFIG_ISI) += isicom.o -obj-$(CONFIG_ESPSERIAL) += esp.o -obj-$(CONFIG_SYNCLINK) += synclink.o -obj-$(CONFIG_SYNCLINKMP) += synclinkmp.o -obj-$(CONFIG_N_HDLC) += n_hdlc.o -obj-$(CONFIG_SPECIALIX) += specialix.o +obj-$(CONFIG_VT) += vt_ioctl.o vc_screen.o consolemap.o \ + consolemap_deftbl.o selection.o keyboard.o +obj-$(CONFIG_HW_CONSOLE) += vt.o defkeymap.o +obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o +obj-$(CONFIG_ESPSERIAL) += esp.o +obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o +obj-$(CONFIG_MVME162_SCC) += generic_serial.o vme_scc.o +obj-$(CONFIG_BVME6000_SCC) += generic_serial.o vme_scc.o +obj-$(CONFIG_SERIAL_TX3912) += generic_serial.o serial_tx3912.o +obj-$(CONFIG_ROCKETPORT) += rocket.o +obj-$(CONFIG_SERIAL167) += serial167.o +obj-$(CONFIG_CYCLADES) += cyclades.o +obj-$(CONFIG_STALLION) += stallion.o +obj-$(CONFIG_ISTALLION) += istallion.o +obj-$(CONFIG_DIGI) += pcxx.o +obj-$(CONFIG_DIGIEPCA) += epca.o +obj-$(CONFIG_SPECIALIX) += specialix.o +obj-$(CONFIG_MOXA_INTELLIO) += moxa.o +obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o +obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o +obj-$(CONFIG_MOXA_SMARTIO) += mxser.o +obj-$(CONFIG_COMPUTONE) += ip2.o ip2main.o +obj-$(CONFIG_RISCOM8) += riscom8.o +obj-$(CONFIG_ISI) += isicom.o +obj-$(CONFIG_SYNCLINK) += synclink.o +obj-$(CONFIG_SYNCLINKMP) += synclinkmp.o +obj-$(CONFIG_N_HDLC) += n_hdlc.o obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o -obj-$(CONFIG_A2232) += ser_a2232.o generic_serial.o -obj-$(CONFIG_SX) += sx.o generic_serial.o -obj-$(CONFIG_RIO) += rio/ generic_serial.o -obj-$(CONFIG_SH_SCI) += sh-sci.o generic_serial.o -obj-$(CONFIG_SERIAL167) += serial167.o -obj-$(CONFIG_MVME147_SCC) += generic_serial.o vme_scc.o -obj-$(CONFIG_MVME162_SCC) += generic_serial.o vme_scc.o -obj-$(CONFIG_BVME6000_SCC) += generic_serial.o vme_scc.o -obj-$(CONFIG_SERIAL_TX3912) += generic_serial.o serial_tx3912.o -obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o -obj-$(CONFIG_RAW_DRIVER) += raw.o +obj-$(CONFIG_SX) += sx.o generic_serial.o +obj-$(CONFIG_RIO) += rio/ generic_serial.o +obj-$(CONFIG_SH_SCI) += sh-sci.o generic_serial.o +obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o +obj-$(CONFIG_RAW_DRIVER) += raw.o obj-$(CONFIG_PRINTER) += lp.o obj-$(CONFIG_TIPAR) += tipar.o diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c index 74ba43ec4206..401e040ed0b0 100644 --- a/drivers/char/cyclades.c +++ b/drivers/char/cyclades.c @@ -5433,7 +5433,7 @@ static struct tty_operations cy_ops = { .read_proc = cyclades_get_proc_info, }; -int __init +static int __init cy_init(void) { struct cyclades_port *info; @@ -5660,13 +5660,10 @@ cy_init(void) } /* cy_init */ -#ifdef MODULE -void +static void __exit cy_cleanup_module(void) { - int i; - int e1, e2; - unsigned long flags; + int i, e1; #ifndef CONFIG_CYZ_INTR if (cyz_timeron){ @@ -5702,11 +5699,10 @@ cy_cleanup_module(void) } } /* cy_cleanup_module */ -/* Module entry-points */ module_init(cy_init); module_exit(cy_cleanup_module); -#else /* MODULE */ +#ifndef MODULE /* called by linux/init/main.c to parse command line options */ void cy_setup(char *str, int *ints) diff --git a/drivers/char/ip2.c b/drivers/char/ip2.c index 28aefc023688..8e62d6d3d6e9 100644 --- a/drivers/char/ip2.c +++ b/drivers/char/ip2.c @@ -34,8 +34,6 @@ ip2_loadmain(int *, int *, unsigned char *, int ); // ref into ip2main.c static int io[IP2_MAX_BOARDS]= { 0, 0, 0, 0 }; static int irq[IP2_MAX_BOARDS] = { -1, -1, -1, -1 }; -#ifdef MODULE - static int poll_only = 0; MODULE_AUTHOR("Doug McNash"); @@ -48,48 +46,20 @@ MODULE_PARM(poll_only,"1i"); MODULE_PARM_DESC(poll_only,"Do not use card interrupts"); -//====================================================================== -int -init_module(void) +static int __init ip2_init(void) { - int rc; - - MOD_INC_USE_COUNT; // hold till done - if( poll_only ) { /* Hard lock the interrupts to zero */ irq[0] = irq[1] = irq[2] = irq[3] = 0; } - rc = ip2_loadmain(io,irq,(unsigned char *)fip_firm,sizeof(fip_firm)); - // The call to lock and load main, create dep - - MOD_DEC_USE_COUNT; //done - kerneld now can unload us - return rc; -} - -//====================================================================== -int -ip2_init(void) -{ - // call to this is in tty_io.c so we need this - return 0; -} - -//====================================================================== -void -cleanup_module(void) -{ + return ip2_loadmain(io,irq,(unsigned char *)fip_firm,sizeof(fip_firm)); } +module_init(ip2_init); MODULE_LICENSE("GPL"); -#else // !MODULE - -#ifndef NULL -# define NULL ((void *) 0) -#endif - +#ifndef MODULE /****************************************************************************** * ip2_setup: * str: kernel command line string @@ -136,15 +106,5 @@ static int __init ip2_setup(char *str) } return 1; } - -int -ip2_init(void) { - return ip2_loadmain(io,irq,(unsigned char *)fip_firm,sizeof(fip_firm)); -} - -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,13)) __setup("ip2=", ip2_setup); -__initcall(ip2_init); -#endif - #endif /* !MODULE */ diff --git a/drivers/char/moxa.c b/drivers/char/moxa.c index bf63034c0703..9d0650837807 100644 --- a/drivers/char/moxa.c +++ b/drivers/char/moxa.c @@ -189,7 +189,6 @@ static struct mxser_mstatus GMStatus[MAX_PORTS]; static int verbose = 0; static int ttymajor = MOXAMAJOR; -#ifdef MODULE /* Variables for insmod */ static int baseaddr[] = {0, 0, 0, 0}; static int type[] = {0, 0, 0, 0}; @@ -204,8 +203,6 @@ MODULE_PARM(numports, "1-4i"); MODULE_PARM(ttymajor, "i"); MODULE_PARM(verbose, "i"); -#endif //MODULE - static struct tty_driver *moxaDriver; static struct moxa_str moxaChannels[MAX_PORTS]; static unsigned char *moxaXmitBuff; @@ -215,8 +212,6 @@ static int moxaEmptyTimer_on[MAX_PORTS]; static struct timer_list moxaEmptyTimer[MAX_PORTS]; static struct semaphore moxaBuffSem; -int moxa_init(void); - /* * static functions: */ @@ -278,42 +273,6 @@ static int moxa_get_serial_info(struct moxa_str *, struct serial_struct *); static int moxa_set_serial_info(struct moxa_str *, struct serial_struct *); static void MoxaSetFifo(int port, int enable); -#ifdef MODULE -int init_module(void) -{ - int ret; - - if (verbose) - printk("Loading module moxa ...\n"); - ret = moxa_init(); - if (verbose) - printk("Done\n"); - return (ret); -} - -void cleanup_module(void) -{ - int i; - - if (verbose) - printk("Unloading module moxa ...\n"); - - if (moxaTimer_on) - del_timer(&moxaTimer); - - for (i = 0; i < MAX_PORTS; i++) - if (moxaEmptyTimer_on[i]) - del_timer(&moxaEmptyTimer[i]); - - if (tty_unregister_driver(moxaDriver)) - printk("Couldn't unregister MOXA Intellio family serial driver\n"); - put_tty_driver(moxaDriver); - if (verbose) - printk("Done\n"); - -} -#endif - static struct tty_operations moxa_ops = { .open = moxa_open, .close = moxa_close, @@ -332,7 +291,7 @@ static struct tty_operations moxa_ops = { .hangup = moxa_hangup, }; -int moxa_init(void) +static int __init moxa_init(void) { int i, n, numBoards; struct moxa_str *ch; @@ -479,6 +438,31 @@ int moxa_init(void) return (0); } +static void __exit moxa_exit(void) +{ + int i; + + if (verbose) + printk("Unloading module moxa ...\n"); + + if (moxaTimer_on) + del_timer(&moxaTimer); + + for (i = 0; i < MAX_PORTS; i++) + if (moxaEmptyTimer_on[i]) + del_timer(&moxaEmptyTimer[i]); + + if (tty_unregister_driver(moxaDriver)) + printk("Couldn't unregister MOXA Intellio family serial driver\n"); + put_tty_driver(moxaDriver); + if (verbose) + printk("Done\n"); + +} + +module_init(moxa_init); +module_exit(moxa_exit); + static int moxa_get_PCI_conf(struct pci_dev *p, int board_type, moxa_board_conf * board) { board->baseAddr = pci_resource_start (p, 2); diff --git a/drivers/char/pcxx.c b/drivers/char/pcxx.c index a86e164fff56..78aa18b4e81c 100644 --- a/drivers/char/pcxx.c +++ b/drivers/char/pcxx.c @@ -200,13 +200,7 @@ static void cleanup_board_resources(void) } } -/*****************************************************************************/ - -#ifdef MODULE - -/*****************************************************************************/ - -static void pcxe_cleanup() +static void __exit pcxe_cleanup(void) { unsigned long flags; @@ -232,7 +226,6 @@ static void pcxe_cleanup() */ module_init(pcxe_init); module_cleanup(pcxe_cleanup); -#endif static inline struct channel *chan(register struct tty_struct *tty) { @@ -1018,6 +1011,9 @@ void __init pcxx_setup(char *str, int *ints) } #endif +module_init(pcxe_init) +module_exit(pcxe_exit) + static struct tty_operations pcxe_ops = { .open = pcxe_open, .close = pcxe_close, @@ -1040,7 +1036,7 @@ static struct tty_operations pcxe_ops = { * function to initialize the driver with the given parameters, which are either * the default values from this file or the parameters given at boot. */ -int __init pcxe_init(void) +static int __init pcxe_init(void) { ulong memory_seg=0, memory_size=0; int lowwater, enabled_cards=0, i, crd, shrinkmem=0, topwin = 0xff00L, botwin=0x100L; diff --git a/drivers/char/pty.c b/drivers/char/pty.c index 85fa5d9503cb..135a4b6463a1 100644 --- a/drivers/char/pty.c +++ b/drivers/char/pty.c @@ -313,7 +313,7 @@ static struct tty_operations pty_ops = { .set_termios = pty_set_termios, }; -int __init pty_init(void) +static int __init pty_init(void) { /* Traditional BSD devices */ @@ -414,3 +414,4 @@ int __init pty_init(void) #endif return 0; } +module_init(pty_init); diff --git a/drivers/char/ser_a2232.c b/drivers/char/ser_a2232.c index eb168a011cd6..c6a04abc1215 100644 --- a/drivers/char/ser_a2232.c +++ b/drivers/char/ser_a2232.c @@ -122,8 +122,6 @@ static void a2232_init_portstructs(void); /* Initialize and register TTY drivers. */ /* returns 0 IFF successful */ static int a2232_init_drivers(void); -/* Initialize all A2232 boards; main entry point. */ -int a2232board_init(void); /* BEGIN GENERIC_SERIAL PROTOTYPES */ static void a2232_disable_tx_interrupts(void *ptr); @@ -720,7 +718,7 @@ static int a2232_init_drivers(void) return 0; } -int a2232board_init(void) +static int __init a2232board_init(void) { struct zorro_dev *z; @@ -813,13 +811,7 @@ int a2232board_init(void) return 0; } -#ifdef MODULE -int init_module(void) -{ - return a2232board_init(); -} - -void cleanup_module(void) +static void __exit a2232board_exit(void) { int i; @@ -831,8 +823,9 @@ void cleanup_module(void) put_tty_driver(a2232_driver); free_irq(IRQ_AMIGA_VERTB, a2232_driver_ID); } -#endif -/***************************** End of Functions *********************/ + +module_init(a2232board_init); +module_exit(a2232board_exit); MODULE_AUTHOR("Enver Haase"); MODULE_DESCRIPTION("Amiga A2232 multi-serial board driver"); diff --git a/drivers/char/serial167.c b/drivers/char/serial167.c index 82b815099f1b..a656925ef83f 100644 --- a/drivers/char/serial167.c +++ b/drivers/char/serial167.c @@ -23,10 +23,6 @@ * * This version does not support shared irq's. * - * This module exports the following rs232 io functions: - * int cy_init(void); - * int cy_open(struct tty_struct *tty, struct file *filp); - * * $Log: cyclades.c,v $ * Revision 1.36.1.4 1995/03/29 06:14:14 bentson * disambiguate between Cyclom-16Y and Cyclom-32Ye; @@ -2321,7 +2317,7 @@ static struct tty_operations cy_ops = { If there are more cards with more ports than have been statically allocated above, a warning is printed and the extra ports are ignored. */ -int +static int __init serial167_init(void) { struct cyclades_port *info; @@ -2497,6 +2493,8 @@ cleanup_serial_driver: return ret; } /* serial167_init */ +module_init(serial167_init); + #ifdef CYCLOM_SHOW_STATUS static void diff --git a/drivers/char/serial_tx3912.c b/drivers/char/serial_tx3912.c index 426273039273..8be447a76a3d 100644 --- a/drivers/char/serial_tx3912.c +++ b/drivers/char/serial_tx3912.c @@ -812,7 +812,7 @@ static int rs_init_drivers(void) } -void __init tx3912_rs_init(void) +static void __init tx3912_rs_init(void) { int rc; @@ -877,6 +877,7 @@ void __init tx3912_rs_init(void) func_exit(); } +module_init(tx3912_rs_init); /* * Begin serial console routines diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c index a65506e8f6bd..68bacdd1841a 100644 --- a/drivers/char/specialix.c +++ b/drivers/char/specialix.c @@ -1362,7 +1362,6 @@ static int sx_open(struct tty_struct * tty, struct file * filp) int error; struct specialix_port * port; struct specialix_board * bp; - unsigned long flags; board = SX_BOARD(tty->index); @@ -2205,7 +2204,7 @@ void specialix_setup(char *str, int * ints) /* * This routine must be called by kernel at boot time */ -int specialix_init(void) +static int __init specialix_init(void) { int i; int found = 0; @@ -2263,7 +2262,6 @@ int specialix_init(void) return 0; } -#ifdef MODULE int iobase[SX_NBOARD] = {0,}; int irq [SX_NBOARD] = {0,}; @@ -2280,7 +2278,7 @@ MODULE_PARM(irq,"1-" __MODULE_STRING(SX_NBOARD) "i"); * only use 4 different interrupts. * */ -int init_module(void) +static int __init specialix_init_module(void) { int i; @@ -2294,8 +2292,7 @@ int init_module(void) return specialix_init(); } - -void cleanup_module(void) +static void __exit specialix_exit_module(void) { int i; @@ -2308,6 +2305,8 @@ void cleanup_module(void) #endif } -#endif /* MODULE */ + +module_init(specialix_init_module); +module_exit(specialix_exit_module); MODULE_LICENSE("GPL"); diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 2ea337b26d51..31a43060d708 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c @@ -138,12 +138,7 @@ static int tty_release(struct inode *, struct file *); int tty_ioctl(struct inode * inode, struct file * file, unsigned int cmd, unsigned long arg); static int tty_fasync(int fd, struct file * filp, int on); -extern int vme_scc_init (void); -extern int serial167_init(void); -extern int rs_8xx_init(void); -extern void tub3270_init(void); extern void rs_360_init(void); -extern void tx3912_rs_init(void); static struct tty_struct *alloc_tty_struct(void) { @@ -2462,53 +2457,6 @@ static int __init tty_init(void) vty_init(); #endif - -#ifdef CONFIG_ESPSERIAL /* init ESP before rs, so rs doesn't see the port */ - espserial_init(); -#endif -#if defined(CONFIG_MVME162_SCC) || defined(CONFIG_BVME6000_SCC) || defined(CONFIG_MVME147_SCC) - vme_scc_init(); -#endif -#ifdef CONFIG_SERIAL_TX3912 - tx3912_rs_init(); -#endif -#ifdef CONFIG_ROCKETPORT - rp_init(); -#endif -#ifdef CONFIG_SERIAL167 - serial167_init(); -#endif -#ifdef CONFIG_CYCLADES - cy_init(); -#endif -#ifdef CONFIG_STALLION - stl_init(); -#endif -#ifdef CONFIG_ISTALLION - stli_init(); -#endif -#ifdef CONFIG_DIGI - pcxe_init(); -#endif -#ifdef CONFIG_DIGIEPCA - pc_init(); -#endif -#ifdef CONFIG_SPECIALIX - specialix_init(); -#endif -#if (defined(CONFIG_8xx) || defined(CONFIG_8260)) - rs_8xx_init(); -#endif /* CONFIG_8xx */ - pty_init(); -#ifdef CONFIG_MOXA_INTELLIO - moxa_init(); -#endif -#ifdef CONFIG_TN3270 - tub3270_init(); -#endif -#ifdef CONFIG_A2232 - a2232board_init(); -#endif return 0; } module_init(tty_init); diff --git a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c index 8938a30942c7..2c84b2314ffb 100644 --- a/drivers/char/vme_scc.c +++ b/drivers/char/vme_scc.c @@ -396,14 +396,10 @@ static int bvme6000_scc_init(void) #endif -int vme_scc_init(void) +static int vme_scc_init(void) { int res = -ENODEV; - static int called = 0; - if (called) - return res; - called = 1; #ifdef CONFIG_MVME147_SCC if (MACH_IS_MVME147) res = mvme147_scc_init(); @@ -419,6 +415,8 @@ int vme_scc_init(void) return res; } +module_init(vme_scc_init); + /*--------------------------------------------------------------------------- * Interrupt handlers diff --git a/drivers/macintosh/macserial.c b/drivers/macintosh/macserial.c index 9f4b7cdd2f68..9d6eb9890b62 100644 --- a/drivers/macintosh/macserial.c +++ b/drivers/macintosh/macserial.c @@ -2490,8 +2490,7 @@ static struct tty_operations serial_ops = { .read_proc = macserial_read_proc, }; -/* rs_init inits the driver */ -int macserial_init(void) +static int macserial_init(void) { int channel, i; struct mac_serial *info; diff --git a/drivers/s390/char/tuball.c b/drivers/s390/char/tuball.c index a35b3f27b28b..8f7b5350a542 100644 --- a/drivers/s390/char/tuball.c +++ b/drivers/s390/char/tuball.c @@ -74,8 +74,6 @@ unsigned char tub_ebcgraf[64] = 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f }; -int tub3270_init(void); - #ifndef MODULE /* @@ -193,31 +191,18 @@ int tub3270_con_copy(tub_t *tubp) return rc; } #endif /* CONFIG_TN3270_CONSOLE */ -#else /* If generated as a MODULE */ -/* - * module init: find tubes; get a major nbr - */ -int -init_module(void) -{ - if (tubnummins != 0) { - printk(KERN_ERR "EEEK!! Tube driver cobbigling!!\n"); - return -1; - } - return tub3270_init(); -} +#endif /* * remove driver: unregister the major number */ -void -cleanup_module(void) +static void __exit +tub3270_exit(void) { fs3270_fini(); tty3270_fini(); tubfiniminors(); } -#endif /* Not a MODULE or a MODULE */ static int tub3270_is_ours(s390_dev_info_t *dp) @@ -232,12 +217,19 @@ tub3270_is_ours(s390_dev_info_t *dp) /* * tub3270_init() called by kernel or module initialization */ -int +static int __init tub3270_init(void) { s390_dev_info_t d; int i, rc; +#ifdef MODULE + if (tubnummins != 0) { + printk(KERN_ERR "EEEK!! Tube driver cobbigling!!\n"); + return -1; + } +#endif + /* * Copy and correct ebcdic - ascii translate tables */ @@ -624,3 +616,6 @@ tubfiniirqs(void) tubirqs = NULL; } } + +module_init(tub3270_init); +module_exit(tub3270_exit); diff --git a/include/linux/tty.h b/include/linux/tty.h index 946702c37e6e..0626d1b321aa 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -347,23 +347,7 @@ extern int fg_console, last_console, want_console; extern int kmsg_redirect; extern void console_init(void); - -extern int lp_init(void); -extern int pty_init(void); -extern int mxser_init(void); -extern int moxa_init(void); -extern int ip2_init(void); -extern int pcxe_init(void); -extern int pc_init(void); extern int vcs_init(void); -extern int rp_init(void); -extern int cy_init(void); -extern int stl_init(void); -extern int stli_init(void); -extern int specialix_init(void); -extern int espserial_init(void); -extern int macserial_init(void); -extern int a2232board_init(void); extern int tty_paranoia_check(struct tty_struct *tty, struct inode *inode, const char *routine); |
