Keith Owens wrote:
>
> Sections marked __exit get discarded when the code is linked into the
> kernel, they are kept when the code is a module. But the spin lock
> code is kept (in another section) and relocation from .text.lock back
> to .text.exit fails. Possible fixes:
>
> Use RTC as a module.
> Remove __exit from rtc_exit.
> Compile rtc_exit conditional on not being a module.
> Remove the spin locks.
... or
5) Delete paranoia check altogether.
Thanks,
Paul.
--- drivers/char/rtc.c~ Sun Jul 23 03:39:15 2000
+++ drivers/char/rtc.c Tue Sep 19 11:08:47 2000
@@ -723,17 +723,6 @@
static void __exit rtc_exit (void)
{
- /* interrupts and maybe timer disabled at this point by rtc_release */
- /* FIXME: Maybe??? */
-
- if (rtc_status & RTC_TIMER_ON) {
- spin_lock_irq (&rtc_lock);
- rtc_status &= ~RTC_TIMER_ON;
- del_timer(&rtc_irq_timer);
- spin_unlock_irq (&rtc_lock);
-
- printk(KERN_WARNING "rtc_exit(), and timer still running.\n");
- }
remove_proc_entry ("driver/rtc", NULL);
misc_deregister(&rtc_dev);
__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/