INIT_DELAYED_WORK 定时器中断函数的调用
定义全局变量:
#ifdef TPD_ESD_PROTECT
#define TPD_ESD_CHECK_CIRCLE 2000
static struct delayed_work gsl_esd_check_work;
static struct workqueue_struct *gsl_esd_check_workqueue = NULL;
#endif
初始化:
#ifdef TPD_ESD_PROTECT
INIT_DELAYED_WORK(&gsl_esd_check_work, gsl_esd_check_func);
gsl_esd_check_workqueue = create_workqueue("gsl_esd_check");
#endif
开启定时:
queue_delayed_work(gsl_esd_check_workqueue, &gsl_esd_check_work, TPD_ESD_CHECK_CIRCLE);
关闭定时:
cancel_delayed_work_sync(&gsl_esd_check_work);
中断函数:
static void gsl_esd_check_func(struct work *work)
{
*************************************************
}