/* Schedule switch for execution. We need to throttle requests, otherwise keyboard may become unresponsive.  */
static void atkbd_schedule_event_work(struct atkbd *atkbd, int event_bit)
/* Schedule switch for execution. We need to throttle requests, otherwise keyboard may become unresponsive.  */
static void atkbd_schedule_event_work(struct atkbd *atkbd, int event_bit)
{
	unsigned long delay = msecs_to_jiffies(50);
	if (time_after(jiffies, atkbd->event_jiffies + delay))
		delay = 0;
	atkbd->event_jiffies = jiffies;
	set_bit(event_bit, &atkbd->event_mask);
	mb();
	schedule_delayed_work(&atkbd->event_work, delay);
}