From: Adrian Bunk This patch fixes the following bugs: - __exit unregister_ioregion and unregister_drivers were called by __init isicom_init - __init isicom_init was called by __devinit isicom_setup Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton --- 25-akpm/drivers/char/isicom.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff -puN drivers/char/isicom.c~drivers-char-isicomc-section-fixes drivers/char/isicom.c --- 25/drivers/char/isicom.c~drivers-char-isicomc-section-fixes 2005-03-23 20:02:45.000000000 -0800 +++ 25-akpm/drivers/char/isicom.c 2005-03-23 20:02:45.000000000 -0800 @@ -1756,7 +1756,7 @@ static void isicom_flush_buffer(struct t } -static int __init register_ioregion(void) +static int __devinit register_ioregion(void) { int count, done=0; for (count=0; count < BOARD_COUNT; count++ ) { @@ -1771,7 +1771,7 @@ static int __init register_ioregion(void return done; } -static void __exit unregister_ioregion(void) +static void unregister_ioregion(void) { int count; for (count=0; count < BOARD_COUNT; count++ ) @@ -1803,7 +1803,7 @@ static struct tty_operations isicom_ops .tiocmset = isicom_tiocmset, }; -static int __init register_drivers(void) +static int __devinit register_drivers(void) { int error; @@ -1834,7 +1834,7 @@ static int __init register_drivers(void) return 0; } -static void __exit unregister_drivers(void) +static void unregister_drivers(void) { int error = tty_unregister_driver(isicom_normal); if (error) @@ -1842,7 +1842,7 @@ static void __exit unregister_drivers(vo put_tty_driver(isicom_normal); } -static int __init register_isr(void) +static int __devinit register_isr(void) { int count, done=0; unsigned long irqflags; @@ -1883,7 +1883,7 @@ static void __exit unregister_isr(void) } } -static int __init isicom_init(void) +static int __devinit isicom_init(void) { int card, channel, base; struct isi_port * port; _