Hi, On 20-01-08 08:11, Marco Felsch wrote: ... > > +struct mtk_keypad { > > + struct input_dev *input_dev; > > + struct wakeup_source *suspend_lock; > > + struct tasklet_struct tasklet; > > Why do you use a tasklet instead of a simple softirq? Sorry, what I mean was a threaded_irq. Regards, Marco