queue_task_irq(&task, &tq_immediate);
#endif
mark_bh(IMMEDIATE_BH);
}
/* 初始化模块--登记 IRQ 句柄 */
int init_module()
{
/* 既然键盘的句柄不能和我们的共存,在我们做事情前我们不得不关闭他(释放他的 IRQ)。
* 因为我们不知道他在哪儿,所以以后没有办法恢复他--因此当我们做完时电脑将被重新启动。
*/
free_irq(1, NULL);
/* 请求 IRQ 1,键盘的 IRQ,指向我们的 irq_handler。 */
return request_irq(
1, /* PC上的键盘的 IRQ 号 */
irq_handler, /* 我们的句柄 */
SA_SHIRQ,
/* SA_SHIRQ 意味着我们将另一个句柄用于这个 IRQ。
*
* SA_INTERRUPT 能使句柄为一个快速中断。
*/
"test_keyboard_irq_handler", NULL);
}
/* 清除 */
void cleanup_module()
{
/* 他在这儿只是为了完全。他是完全不相关的,因为我们没有办法恢复通常的键盘中断因此电脑完全没用 * 了,需要被重新启动。 */
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




