Thread (66 messages) 66 messages, 12 authors, 2009-08-22

Re: Threaded interrupts for synaptic touchscreen in HTC dream

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2009-07-22 16:04:29
Also in: linux-i2c, lkml

Hi Thomas,

On Wed, Jul 22, 2009 at 02:58:24PM +0200, Thomas Gleixner wrote:
Mark,

On Wed, 22 Jul 2009, Mark Brown wrote:
quoted
On Wed, Jul 22, 2009 at 12:44:01PM +0200, Thomas Gleixner wrote:
quoted
On Tue, 21 Jul 2009, Mark Brown wrote:
quoted
quoted
I'll need to have a more detailed look at that but it's not immediately
clear to me how a driver (or even machine) should use that code - it
looks more like it's intended to be called from within the IRQ
infrastructure than from random driver code.
quoted
All it needs is to set handle_level_oneshot_irq for the interrupt line
of your I2C or whatever devices. 
quoted
   set_irq_handler(irq, handle_level_oneshot_irq);
Yeah, I know - the issue I was having was that the use of set_irq_handler()
seemed rather rude for driver code.  Grepping around I see that there
are actually a small number of drivers using it already but at first
glance most of them appear to be implementing interrupt controllers.  It
was setting off alarm bells about abstraction layer violation like
set_irq_type() does.
I don't think it belongs into the driver code. It belongs into the
platform code which sets up the system and knows what's on which
interrupt line.
 
I do think this should be set up by the driver - the platform/arch code
can't be 100% certain what model of servicing interrupts driver will
chose, nor the driver can know whether arch code set things up for
threaded or classic interrupt handling.

Since handle_level_oneshot_irq requires drivers to use threaded IRQ
model (in absence of thread interrupt will never be unmasked) it would
be better if we did set it up automatically, right there in
request_threaded_irq(). This would reduce maintenance issues between
platform and driver code.

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help