From: Registration of sysctls turned into module_init(). --- drivers/parport/Makefile | 2 +- drivers/parport/init.c | 25 ------------------------- drivers/parport/procfs.c | 15 ++++++++------- include/linux/parport.h | 2 -- 4 files changed, 9 insertions(+), 35 deletions(-) diff -puN drivers/parport/init.c~parport-03-sysctls-use-module_init drivers/parport/init.c --- 25/drivers/parport/init.c~parport-03-sysctls-use-module_init 2004-02-18 23:43:45.000000000 -0800 +++ 25-akpm/drivers/parport/init.c 2004-02-18 23:43:45.000000000 -0800 @@ -113,35 +113,10 @@ static int __init parport_setup (char *s __setup ("parport=", parport_setup); -#endif - -#ifdef MODULE -int init_module(void) -{ -#ifdef CONFIG_SYSCTL - parport_default_proc_register (); -#endif - return 0; -} - -void cleanup_module(void) -{ -#ifdef CONFIG_SYSCTL - parport_default_proc_unregister (); -#endif -} - -#else - int __init parport_init (void) { if (io[0] == PARPORT_DISABLE) return 1; - -#ifdef CONFIG_SYSCTL - parport_default_proc_register (); -#endif - #ifdef CONFIG_PARPORT_PC parport_pc_init(io, io_hi, irq, dma); #endif diff -puN drivers/parport/Makefile~parport-03-sysctls-use-module_init drivers/parport/Makefile --- 25/drivers/parport/Makefile~parport-03-sysctls-use-module_init 2004-02-18 23:43:45.000000000 -0800 +++ 25-akpm/drivers/parport/Makefile 2004-02-18 23:43:45.000000000 -0800 @@ -2,7 +2,7 @@ # Makefile for the kernel Parallel port device drivers. # -parport-objs := share.o ieee1284.o ieee1284_ops.o init.o procfs.o +parport-objs := share.o ieee1284.o ieee1284_ops.o procfs.o init.o ifeq ($(CONFIG_PARPORT_1284),y) parport-objs += daisy.o probe.o diff -puN drivers/parport/procfs.c~parport-03-sysctls-use-module_init drivers/parport/procfs.c --- 25/drivers/parport/procfs.c~parport-03-sysctls-use-module_init 2004-02-18 23:43:45.000000000 -0800 +++ 25-akpm/drivers/parport/procfs.c 2004-02-18 23:43:45.000000000 -0800 @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -480,21 +481,20 @@ int parport_device_proc_unregister(struc return 0; } -int parport_default_proc_register(void) +static int __init parport_default_proc_register(void) { parport_default_sysctl_table.sysctl_header = register_sysctl_table(parport_default_sysctl_table.dev_dir, 0); return 0; } -int parport_default_proc_unregister(void) +static void __exit parport_default_proc_unregister(void) { if (parport_default_sysctl_table.sysctl_header) { unregister_sysctl_table(parport_default_sysctl_table. sysctl_header); parport_default_sysctl_table.sysctl_header = NULL; } - return 0; } #else /* no sysctl or no procfs*/ @@ -519,12 +519,12 @@ int parport_device_proc_unregister(struc return 0; } -int parport_default_proc_register (void) +static int __init parport_default_proc_register (void) { return 0; } -int parport_default_proc_unregister (void) +static void __exit parport_default_proc_unregister (void) { return 0; } @@ -534,5 +534,6 @@ EXPORT_SYMBOL(parport_proc_register); EXPORT_SYMBOL(parport_proc_unregister); EXPORT_SYMBOL(parport_device_proc_register); EXPORT_SYMBOL(parport_device_proc_unregister); -EXPORT_SYMBOL(parport_default_proc_register); -EXPORT_SYMBOL(parport_default_proc_unregister); + +module_init(parport_default_proc_register) +module_exit(parport_default_proc_unregister) diff -puN include/linux/parport.h~parport-03-sysctls-use-module_init include/linux/parport.h --- 25/include/linux/parport.h~parport-03-sysctls-use-module_init 2004-02-18 23:43:45.000000000 -0800 +++ 25-akpm/include/linux/parport.h 2004-02-18 23:43:45.000000000 -0800 @@ -538,8 +538,6 @@ extern int parport_proc_register(struct extern int parport_proc_unregister(struct parport *pp); extern int parport_device_proc_register(struct pardevice *device); extern int parport_device_proc_unregister(struct pardevice *device); -extern int parport_default_proc_register(void); -extern int parport_default_proc_unregister(void); /* If PC hardware is the only type supported, we can optimise a bit. */ #if (defined(CONFIG_PARPORT_PC) || defined(CONFIG_PARPORT_PC_MODULE)) && !(defined(CONFIG_PARPORT_ARC) || defined(CONFIG_PARPORT_ARC_MODULE)) && !(defined(CONFIG_PARPORT_AMIGA) || defined(CONFIG_PARPORT_AMIGA_MODULE)) && !(defined(CONFIG_PARPORT_MFC3) || defined(CONFIG_PARPORT_MFC3_MODULE)) && !(defined(CONFIG_PARPORT_ATARI) || defined(CONFIG_PARPORT_ATARI_MODULE)) && !(defined(CONFIG_USB_USS720) || defined(CONFIG_USB_USS720_MODULE)) && !(defined(CONFIG_PARPORT_SUNBPP) || defined(CONFIG_PARPORT_SUNBPP_MODULE)) && !defined(CONFIG_PARPORT_OTHER) _