,用来上报input事件,并判断按键中断源,如果是的话,则调用pm_relax(),通知pm子系统唤醒工作结束
void pm_wakeup_event(struct device *dev, unsigned...4.5 然后在中断函数中,判断是否需要上报唤醒事件,中断函数如下所示:
static irqreturn_t gpio_keys_gpio_isr(int irq, void *dev_id)
{...,则通知pm子系统,处理唤醒事件,并等待结束
if (bdata->timer_debounce)
mod_timer(&bdata->timer...(struct device *dev, unsigned int msec);
//通知pm子系统在msec后处理唤醒事件, msec=0,则表示立即唤醒
4.7 接下来来看gpio_keys_setup_key...: EV_KEY, button->code); //使input 支持EV_KEY键盘事件,并使键盘事件支持button->code按键值
error = request_any_context_irq