From: Adrian Bunk Convert the driver to use module_{init,exit}. Signed-off-by: Adrian Bunk Acked-by: David Woodhouse Signed-off-by: Andrew Morton --- drivers/char/applicom.c | 40 +++----------------------------------- 1 files changed, 4 insertions(+), 36 deletions(-) diff -puN drivers/char/applicom.c~drivers-char-applicomc-proper-module_initexit drivers/char/applicom.c --- devel/drivers/char/applicom.c~drivers-char-applicomc-proper-module_initexit 2006-05-17 23:33:40.000000000 -0700 +++ devel-akpm/drivers/char/applicom.c 2006-05-17 23:33:40.000000000 -0700 @@ -166,11 +166,7 @@ static int ac_register_board(unsigned lo return boardno + 1; } -#ifdef MODULE - -#define applicom_init init_module - -void cleanup_module(void) +static void __exit applicom_exit(void) { unsigned int i; @@ -188,9 +184,7 @@ void cleanup_module(void) } } -#endif /* MODULE */ - -int __init applicom_init(void) +static int __init applicom_init(void) { int i, numisa = 0; struct pci_dev *dev = NULL; @@ -358,10 +352,9 @@ out: return ret; } +module_init(applicom_init); +module_exit(applicom_exit); -#ifndef MODULE -__initcall(applicom_init); -#endif static ssize_t ac_write(struct file *file, const char __user *buf, size_t count, loff_t * ppos) { @@ -854,28 +847,3 @@ static int ac_ioctl(struct inode *inode, return 0; } -#ifndef MODULE -static int __init applicom_setup(char *str) -{ - int ints[4]; - - (void) get_options(str, 4, ints); - - if (ints[0] > 2) { - printk(KERN_WARNING "Too many arguments to 'applicom=', expected mem,irq only.\n"); - } - - if (ints[0] < 2) { - printk(KERN_INFO"applicom numargs: %d\n", ints[0]); - return 0; - } - - mem = ints[1]; - irq = ints[2]; - return 1; -} - -__setup("applicom=", applicom_setup); - -#endif /* MODULE */ - _