[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1192204757.7089.9.camel@roc-laptop>
Date: Fri, 12 Oct 2007 23:59:17 +0800
From: Bryan Wu <bryan.wu@...log.com>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: bryan.wu@...log.com, linux-input@...ey.karlin.mff.cuni.cz,
linux-joystick@...ey.karlin.mff.cuni.cz,
linux-kernel@...r.kernel.org, akpm@...ux-foundation.org
Subject: Re: [PATCH try #2] Input/Joystick Driver: add support AD7142
joystick driver
On Fri, 2007-10-12 at 11:50 -0400, Dmitry Torokhov wrote:
> On 10/12/07, Bryan Wu <bryan.wu@...log.com> wrote:
> > On Fri, 2007-10-12 at 10:49 -0400, Dmitry Torokhov wrote:
> > > Hi Bryan,
> > >
> > > On 10/12/07, Bryan Wu <bryan.wu@...log.com> wrote:
> > > > +
> > [snip]
> > > > +
> > > > +static void ad7142_close(struct input_dev *dev)
> > > > +{
> > > > + free_irq(CONFIG_BFIN_JOYSTICK_IRQ_PFX, ad7142_interrupt);
> > > > + kthread_stop(ad7142_task);
> > >
> > > Don't you need to write something over i2c to shut the devoce off?
> > > What stops it from continuing to generate interrupts?
> > >
> > Actually, I am going to use "completion" to replace the whole
> > wait_interrupt_xxx and intr_flag things which original from Aubrey. How
> > do you think of that?
> >
>
> I don't think it is a very good idea - for me completion is one-time
> deal. You use it and then you are done. How about firing a work from
> interrupt and either rely on the default workqueue (keventd) or create
> your own to execute it?
>
completion is a wrapper of workqueue and simpler to use.
my method:
1. In kthread:
do {
|_______|_______wait_for_completion(&ad7142_completion);
|_______|_______ad7142_decode();
|_______|_______enable_irq(CONFIG_BFIN_JOYSTICK_IRQ_PFX);
|_______} while (!kthread_should_stop());
2. In irq handler will fire "complete(&ad7142_completion);"
This is simpler and understand easier
Thanks
-Bryan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists