Hi Marge, [...] > +static irqreturn_t rmi_f21_attention(int irq, void *ctx) > +{ > + struct rmi_function *fn = ctx; > + struct f21_data *f21 = dev_get_drvdata(&fn->dev); > + int error; > + > + error = rmi_read_block(fn->rmi_dev, > + fn->fd.data_base_addr+RMI_F21_FORCE_CLICK_OFFSET, > + f21->data_regs, 1); > + if (error) { > + dev_err(&fn->dev, > + "%s: Failed to read f21 data registers: %d\n", > + __func__, error); > + return IRQ_RETVAL(error); > + } > + > + if (!!(f21->data_regs[0] & RMI_f21_FORCE_CLICK)) no need for double negation here. Andi > + input_report_key(f21->input, f21->key_code, true); > + else > + input_report_key(f21->input, f21->key_code, false); > + return IRQ_HANDLED; > +}