linux- drive example

Delayed work queue:

static struct delayed_work lcm_suspend_work

Initialize a work

 INIT_DELAYED_WORK(&lcm_suspend_work, lcm_suspend_work_func);

Handler

static void lcm_suspend_work_func(struct work_struct *work){
       lcm_backlight_control(false);
       pre_state_screen_on = 0;
}

Mission start, as will be scheduled for execution in the second lcm_wakeup_time

 schedule_delayed_work(&lcm_suspend_work, lcm_wakeup_time*HZ);

Cancel the task execution

 cancel_delayed_work(&lcm_suspend_work);
Published 168 original articles · won praise 39 · views 110 000 +

Guess you like

Origin blog.csdn.net/u010481276/article/details/105099719