Re: [PATCH 2/2] Input: tsc2007: do I2C transfers in non-interrupt context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 11, 2009 at 08:38:09AM -0700, Dmitry Torokhov wrote:
> Hi,
> 
> On Mon, May 11, 2009 at 08:44:00PM +0900, Kwangwoo Lee wrote:
> > From d5de0d22109de7564f9bf1df688acbe6b18f41db Mon Sep 17 00:00:00 2001
> > From: Kwangwoo Lee <kwangwoo.lee@xxxxxxxxx>
> > Date: Mon, 11 May 2009 20:05:50 +0900
> > Subject: [PATCH 2/2] Input: tsc2007: do I2C transfers in non-interrupt context.
> > 
> > This patch enhances pointer movements much smoother.
> > The original patch is written by Thierry.
> > 
> > Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxxxxxxxxxx>
> > Signed-off-by: Kwangwoo Lee <kwangwoo.lee@xxxxxxxxx>
> > ---
> >  drivers/input/touchscreen/tsc2007.c |   18 ++++++++++++++----
> >  1 files changed, 14 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/input/touchscreen/tsc2007.c
> > b/drivers/input/touchscreen/tsc2007.c
> > index 948e167..03bbe58 100644
> > --- a/drivers/input/touchscreen/tsc2007.c
> > +++ b/drivers/input/touchscreen/tsc2007.c
> > @@ -70,6 +70,7 @@ struct ts_event {
> >  struct tsc2007 {
> >  	struct input_dev	*input;
> >  	char			phys[32];
> > +	struct work_struct	work;
> 
> Every time I see a work_struct in a driver and don't see
> cancel_work_sync() anywhere I know there are issues...
> 

Also, why do we need to chain irq->timer->work now? Surely we can bypass
the timer if we have to read in process context.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux