spin unlock (&rtc_lock);

/*

*    

*/

spin lock(Srtc task lock);

if (rtc callback)

rtc_callback->func(rtc_callback->private_data) ;

spin unlock(&rtc_task_lock);

wake up interruptible(Srtc wait);

kill_fasync (&rtc_async_queue, SIGIO, POLL_IN) ;

return IRQ_HANDLED;

}

    ,     
 RTC.  ,       -
  -:    ,   
rtc_irq_data        SMP--
,          rtc_callback.
    9, "   ".

 rtc_irq_data     RTC  -
    mod_timer 0.0     10,
"   ".

  ,  -,   -
  (callback),     .  RTC -
    ,    -
       ,  
 RTC.

       IRQ_HANDLED,
 ,       . 
        
    ,    -
 RTC      ,   
   IRQ_HANDLED.

 

       ,
    . ,     -
,    ,     ,  -
      .   
 current     .  , -
       ,    
        -
  .

                                                119