From: Init of low-level drivers (except parport_pc) turned into module_init(). --- drivers/parport/init.c | 19 ------------------- drivers/parport/parport_amiga.c | 4 ++-- drivers/parport/parport_arc.c | 4 +++- drivers/parport/parport_atari.c | 36 ++++++++++++++---------------------- drivers/parport/parport_mfc3.c | 5 ++--- drivers/parport/parport_sunbpp.c | 21 ++++++++------------- 6 files changed, 29 insertions(+), 60 deletions(-) diff -puN drivers/parport/init.c~parport-02-use-module_init drivers/parport/init.c --- 25/drivers/parport/init.c~parport-02-use-module_init 2004-02-18 23:43:43.000000000 -0800 +++ 25-akpm/drivers/parport/init.c 2004-02-18 23:43:43.000000000 -0800 @@ -28,10 +28,6 @@ static int irq[PARPORT_MAX] __initdata = static int dma[PARPORT_MAX] __initdata = { [0 ... PARPORT_MAX-1] = PARPORT_DMA_NONE }; extern int parport_pc_init(int *io, int *io_hi, int *irq, int *dma); -extern int parport_sunbpp_init(void); -extern int parport_amiga_init(void); -extern int parport_mfc3_init(void); -extern int parport_atari_init(void); static int parport_setup_ptr __initdata = 0; @@ -149,21 +145,6 @@ int __init parport_init (void) #ifdef CONFIG_PARPORT_PC parport_pc_init(io, io_hi, irq, dma); #endif -#ifdef CONFIG_PARPORT_AMIGA - parport_amiga_init(); -#endif -#ifdef CONFIG_PARPORT_MFC3 - parport_mfc3_init(); -#endif -#ifdef CONFIG_PARPORT_ATARI - parport_atari_init(); -#endif -#ifdef CONFIG_PARPORT_ARC - parport_arc_init(); -#endif -#ifdef CONFIG_PARPORT_SUNBPP - parport_sunbpp_init(); -#endif return 0; } diff -puN drivers/parport/parport_amiga.c~parport-02-use-module_init drivers/parport/parport_amiga.c --- 25/drivers/parport/parport_amiga.c~parport-02-use-module_init 2004-02-18 23:43:43.000000000 -0800 +++ 25-akpm/drivers/parport/parport_amiga.c 2004-02-18 23:43:43.000000000 -0800 @@ -234,7 +234,7 @@ static struct parport_operations pp_amig /* ----------- Initialisation code --------------------------------- */ -int __init parport_amiga_init(void) +static int __init parport_amiga_init(void) { struct parport *p; int err; @@ -276,7 +276,7 @@ out_mem: return err; } -void __exit parport_amiga_exit(void) +static void __exit parport_amiga_exit(void) { if (this_port->irq != PARPORT_IRQ_NONE) free_irq(IRQ_AMIGA_CIAA_FLG, this_port); diff -puN drivers/parport/parport_arc.c~parport-02-use-module_init drivers/parport/parport_arc.c --- 25/drivers/parport/parport_arc.c~parport-02-use-module_init 2004-02-18 23:43:43.000000000 -0800 +++ 25-akpm/drivers/parport/parport_arc.c 2004-02-18 23:43:43.000000000 -0800 @@ -104,7 +104,7 @@ static struct parport_operations parport /* --- Initialisation code -------------------------------- */ -int parport_arc_init(void) +static int parport_arc_init(void) { /* Archimedes hardware provides only one port, at a fixed address */ struct parport *p; @@ -136,3 +136,5 @@ int parport_arc_init(void) return 1; } + +module_init(parport_arc_init) diff -puN drivers/parport/parport_atari.c~parport-02-use-module_init drivers/parport/parport_atari.c --- 25/drivers/parport/parport_atari.c~parport-02-use-module_init 2004-02-18 23:43:43.000000000 -0800 +++ 25-akpm/drivers/parport/parport_atari.c 2004-02-18 23:43:43.000000000 -0800 @@ -185,8 +185,7 @@ static struct parport_operations parport }; -int __init -parport_atari_init(void) +static int __init parport_atari_init(void) { struct parport *p; unsigned long flags; @@ -208,11 +207,11 @@ parport_atari_init(void) IRQ_MFP_BUSY, PARPORT_DMA_NONE, &parport_atari_ops); if (!p) - return 0; + return -ENODEV; if (request_irq(IRQ_MFP_BUSY, parport_atari_interrupt, IRQ_TYPE_SLOW, p->name, p)) { parport_unregister_port (p); - return 0; + return -ENODEV; } this_port = p; @@ -221,30 +220,23 @@ parport_atari_init(void) parport_announce_port (p); - return 1; + return 0; } - return 0; + return -ENODEV; } -#ifdef MODULE - -MODULE_AUTHOR("Andreas Schwab"); -MODULE_DESCRIPTION("Parport Driver for Atari builtin Port"); -MODULE_SUPPORTED_DEVICE("Atari builtin Parallel Port"); -MODULE_LICENSE("GPL"); - -int -init_module(void) -{ - return parport_atari_init() ? 0 : -ENODEV; -} - -void -cleanup_module(void) +static void __exit parport_atari_exit(void) { if (this_port->irq != PARPORT_IRQ_NONE) free_irq(IRQ_MFP_BUSY, this_port); parport_proc_unregister(this_port); parport_unregister_port(this_port); } -#endif + +MODULE_AUTHOR("Andreas Schwab"); +MODULE_DESCRIPTION("Parport Driver for Atari builtin Port"); +MODULE_SUPPORTED_DEVICE("Atari builtin Parallel Port"); +MODULE_LICENSE("GPL"); + +module_init(parport_atari_init) +module_exit(parport_atari_exit) diff -puN drivers/parport/parport_mfc3.c~parport-02-use-module_init drivers/parport/parport_mfc3.c --- 25/drivers/parport/parport_mfc3.c~parport-02-use-module_init 2004-02-18 23:43:43.000000000 -0800 +++ 25-akpm/drivers/parport/parport_mfc3.c 2004-02-18 23:43:43.000000000 -0800 @@ -320,7 +320,7 @@ static struct parport_operations pp_mfc3 /* ----------- Initialisation code --------------------------------- */ -int __init parport_mfc3_init(void) +static int __init parport_mfc3_init(void) { struct parport *p; int pias = 0; @@ -378,7 +378,7 @@ int __init parport_mfc3_init(void) return pias ? 0 : -ENODEV; } -void __exit parport_mfc3_exit(void) +static void __exit parport_mfc3_exit(void) { int i; @@ -403,4 +403,3 @@ MODULE_LICENSE("GPL"); module_init(parport_mfc3_init) module_exit(parport_mfc3_exit) - diff -puN drivers/parport/parport_sunbpp.c~parport-02-use-module_init drivers/parport/parport_sunbpp.c --- 25/drivers/parport/parport_sunbpp.c~parport-02-use-module_init 2004-02-18 23:43:43.000000000 -0800 +++ 25-akpm/drivers/parport/parport_sunbpp.c 2004-02-18 23:43:43.000000000 -0800 @@ -349,11 +349,7 @@ static int __init init_one_port(struct s return 1; } -#ifdef MODULE -int init_module(void) -#else -int __init parport_sunbpp_init(void) -#endif +static int __init parport_sunbpp_init(void) { struct sbus_bus *sbus; struct sbus_dev *sdev; @@ -368,13 +364,7 @@ int __init parport_sunbpp_init(void) return count ? 0 : -ENODEV; } -#ifdef MODULE -MODULE_AUTHOR("Derrick J Brashear"); -MODULE_DESCRIPTION("Parport Driver for Sparc bidirectional Port"); -MODULE_SUPPORTED_DEVICE("Sparc Bidirectional Parallel Port"); - -void -cleanup_module(void) +static void __exit parport_sunbpp_exit(void) { struct parport *p = parport_enumerate(); @@ -396,6 +386,11 @@ cleanup_module(void) p = next; } } -#endif +MODULE_AUTHOR("Derrick J Brashear"); +MODULE_DESCRIPTION("Parport Driver for Sparc bidirectional Port"); +MODULE_SUPPORTED_DEVICE("Sparc Bidirectional Parallel Port"); MODULE_LICENSE("GPL"); + +module_init(parport_sunbpp_init) +module_exit(parport_sunbpp_exit) _