Hi Dmitry, Is this one good to go in? WDYT? Thanks, Daniel On 29/4/2019 5:24 PM, Daniel Mack wrote: > Move the ISR handling code to its own function This allows us to call > it at resume time to read the hardware state. > > Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> > --- > drivers/input/touchscreen/eeti_ts.c | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-) > > diff --git a/drivers/input/touchscreen/eeti_ts.c b/drivers/input/touchscreen/eeti_ts.c > index 7fe41965c5d1..3e13cc12aaaf 100644 > --- a/drivers/input/touchscreen/eeti_ts.c > +++ b/drivers/input/touchscreen/eeti_ts.c > @@ -75,11 +75,9 @@ static void eeti_ts_report_event(struct eeti_ts *eeti, u8 *buf) > input_sync(eeti->input); > } > > -static irqreturn_t eeti_ts_isr(int irq, void *dev_id) > +static void eeti_ts_read(struct eeti_ts *eeti) > { > - struct eeti_ts *eeti = dev_id; > - int len; > - int error; > + int len, error; > char buf[6]; > > do { > @@ -92,12 +90,18 @@ static irqreturn_t eeti_ts_isr(int irq, void *dev_id) > break; > } > > - if (buf[0] & 0x80) { > - /* Motion packet */ > + /* Motion packet */ > + if (buf[0] & 0x80) > eeti_ts_report_event(eeti, buf); > - } > } while (eeti->running && > eeti->attn_gpio && gpiod_get_value_cansleep(eeti->attn_gpio)); > +} > + > +static irqreturn_t eeti_ts_isr(int irq, void *dev_id) > +{ > + struct eeti_ts *eeti = dev_id; > + > + eeti_ts_read(eeti); > > return IRQ_HANDLED; > } >