static int __init s3c2440_interrupt_init(void)
{
int ret;
int flags;
s3c2410_gpio_cfgpin(S3C2410_GPC5,S3C2410_GPC5_INP);
local_irq_save(flags);
// by sprife
s3c2410_gpio_cfgpin( S3C2410_GPF5, S3C2410_GPF5_EINT5);
s3c2410_gpio_pullup(S3C2410_GPF5,1);
// end
set_irq_type(S3C2440_IRQ5,/*IRQT_FALLING*/IRQT_LOW);
s3c2410_gpio_pullup(S3C2410_GPC5, 0);
local_irq_restore(flags);
ret = request_irq(S3C2440_IRQ5, s3c2440_IRQ3_fun, SA_INTERRUPT, "S3C2440_IRQ5", NULL);
return 0;
}
请问在这个 初始化里面
local_irq_save(flags);
local_irq_restore(flags);
这两个函数有什么意义吗?
我了解这两个函数的用法,但是在这个代码里面,感觉可有可无?
------解决方案--------------------
应该是防止初始化导致中断误触发,所以初始化完成后要恢复之前的中断标志