On Sat, Feb 07, 2015 at 12:41:24AM +0100, Michael Grzeschik wrote: > On Fri, Feb 06, 2015 at 03:24:48PM -0800, Dmitry Torokhov wrote: > > On Fri, Feb 06, 2015 at 12:05:48PM +0100, Michael Grzeschik wrote: > > > With the datardy irq we get the information if the > > > pen got pulled from the screen. This patch changes > > > the irq by checking this condition every time instead > > > of triggering the worker. > > > > > > Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> > > > --- > > > v1 -> v2: - removed adc_on variable > > > - added locking for irq switch > > > - event reporting in ts_read and irq switchover in datardy_irq > > > drivers/input/touchscreen/da9052_tsi.c | 119 +++++++++++++++++---------------- > > > 1 file changed, 62 insertions(+), 57 deletions(-) > > > > > > diff --git a/drivers/input/touchscreen/da9052_tsi.c b/drivers/input/touchscreen/da9052_tsi.c > > > index 5a013bb..c28cfee 100644 > > > --- a/drivers/input/touchscreen/da9052_tsi.c > > > +++ b/drivers/input/touchscreen/da9052_tsi.c > > > @@ -22,19 +22,24 @@ > > > > > > #define TSI_PEN_DOWN_STATUS 0x40 > > > > > > +#define TSI_PEN_UP 1 > > > + > > > struct da9052_tsi { > > > struct da9052 *da9052; > > > struct input_dev *dev; > > > - struct delayed_work ts_pen_work; > > > struct mutex mutex; > > > + spinlock_t *lock; > > > > I am gonna go out on a limb and say that you did not test it. > > I was testing exactly this. It seems i did miss that pointer and it > still worked. That makes me worried even more - that pointer should have been NULL and you should have been getting very low address fault when you try to spin_lock_init(NULL) - so what exactly have you tested? Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html