From: Christoph Hellwig this gets rid of the last two explicit initializations in misc.c Signed-off-by: Christoph Hellwig Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton --- arch/m68k/bvme6000/rtc.c | 5 +++-- arch/m68k/mvme16x/rtc.c | 4 ++-- drivers/char/misc.c | 9 +-------- 3 files changed, 6 insertions(+), 12 deletions(-) diff -puN arch/m68k/bvme6000/rtc.c~move-m68k-rtc-drivers-over-to-initcalls arch/m68k/bvme6000/rtc.c --- devel/arch/m68k/bvme6000/rtc.c~move-m68k-rtc-drivers-over-to-initcalls 2005-07-30 11:52:02.000000000 -0700 +++ devel-akpm/arch/m68k/bvme6000/rtc.c 2005-07-30 11:52:02.000000000 -0700 @@ -14,6 +14,7 @@ #include #include #include +#include #include /* For struct rtc_time and ioctls, etc */ #include #include @@ -171,7 +172,7 @@ static struct miscdevice rtc_dev = { .fops = &rtc_fops }; -int __init rtc_DP8570A_init(void) +static int __init rtc_DP8570A_init(void) { if (!MACH_IS_BVME6000) return -ENODEV; @@ -179,4 +180,4 @@ int __init rtc_DP8570A_init(void) printk(KERN_INFO "DP8570A Real Time Clock Driver v%s\n", RTC_VERSION); return misc_register(&rtc_dev); } - +module_init(rtc_DP8570A_init); diff -puN arch/m68k/mvme16x/rtc.c~move-m68k-rtc-drivers-over-to-initcalls arch/m68k/mvme16x/rtc.c --- devel/arch/m68k/mvme16x/rtc.c~move-m68k-rtc-drivers-over-to-initcalls 2005-07-30 11:52:02.000000000 -0700 +++ devel-akpm/arch/m68k/mvme16x/rtc.c 2005-07-30 11:52:02.000000000 -0700 @@ -161,7 +161,7 @@ static struct miscdevice rtc_dev= .fops = &rtc_fops }; -int __init rtc_MK48T08_init(void) +static int __init rtc_MK48T08_init(void) { if (!MACH_IS_MVME16x) return -ENODEV; @@ -169,4 +169,4 @@ int __init rtc_MK48T08_init(void) printk(KERN_INFO "MK48T08 Real Time Clock Driver v%s\n", RTC_VERSION); return misc_register(&rtc_dev); } - +module_init(rtc_MK48T08_init); diff -puN drivers/char/misc.c~move-m68k-rtc-drivers-over-to-initcalls drivers/char/misc.c --- devel/drivers/char/misc.c~move-m68k-rtc-drivers-over-to-initcalls 2005-07-30 11:52:02.000000000 -0700 +++ devel-akpm/drivers/char/misc.c 2005-07-30 11:52:02.000000000 -0700 @@ -63,8 +63,6 @@ static DECLARE_MUTEX(misc_sem); #define DYNAMIC_MINORS 64 /* like dynamic majors */ static unsigned char misc_minors[DYNAMIC_MINORS / 8]; -extern int rtc_DP8570A_init(void); -extern int rtc_MK48T08_init(void); extern int pmu_device_init(void); #ifdef CONFIG_PROC_FS @@ -303,12 +301,7 @@ static int __init misc_init(void) misc_class = class_create(THIS_MODULE, "misc"); if (IS_ERR(misc_class)) return PTR_ERR(misc_class); -#ifdef CONFIG_MVME16x - rtc_MK48T08_init(); -#endif -#ifdef CONFIG_BVME6000 - rtc_DP8570A_init(); -#endif + if (register_chrdev(MISC_MAJOR,"misc",&misc_fops)) { printk("unable to get major %d for misc devices\n", MISC_MAJOR); _