设为首页 加入收藏

TOP

Linux 中断的上半部和下半部(二)
2014-11-24 07:54:06 来源: 作者: 【 】 浏览:2
Tags:Linux 中断 半部
dropped_irq(unsigned long data)
{
unsigned long freq;


spin_lock_irq(&rtc_lock);


/* Just in case someone disabled the timer from behind our back... */
if (rtc_status &RTC_TIMER_ON)
mod_timer(&rtc_irq_timer, jiffies + HZ / rtc_freq + 2 * HZ / 100);


rtc_irq_data += ((rtc_freq / HZ) << 8);
rtc_irq_data &= ~0xff;
rtc_irq_data |= (CMOS_READ(RTC_INTR_FLAGS) &0xF0); /* restart */


freq = rtc_freq;


spin_unlock_irq(&rtc_lock);
printk(KERN_WARNING "rtc: lost some interrupts at %ldHz.\n", freq);


/* Now we have new data */
wake_up_interruptible(&rtc_wait);


kill_fasync(&rtc_async_queue, SIGIO, POLL_IN);
}


  RTC中断发生后,激发了一个异步信号,因此本驱动程序提供了对第6节异步信号的支持。并不是每个中断都需要一个下半部,如果本身要处理的事情并不复杂,可能只有一个上半部,本例中的RTC驱动就是如此。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C/C++ 笔试总结 下一篇Ubuntu下Qt-4.7.1的静态编译

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·每日一道面试题-多线 (2025-12-26 06:20:17)
·java项目中哪些地方 (2025-12-26 06:20:14)
·Java真的是要没落了 (2025-12-26 06:20:12)
·C++ Lambda表达式保 (2025-12-26 05:49:45)
·C++ Lambda表达式的 (2025-12-26 05:49:42)