Thread (3 messages) 3 messages, 2 authors, 2021-01-07

Re: [PATCH v2] genirq: add IRQF_NO_AUTOEN for request_irq

From: Greg KH <gregkh@linuxfoundation.org>
Date: 2021-01-07 18:57:52
Also in: lkml

On Tue, Jan 05, 2021 at 03:14:11PM +1300, Barry Song wrote:
Many drivers don't want interrupts enabled automatically due to
request_irq(). So they are handling this issue by either way of
the below two:
(1)
irq_set_status_flags(irq, IRQ_NOAUTOEN);
request_irq(dev, irq...);
(2)
request_irq(dev, irq...);
disable_irq(irq);

The code in the second way is silly and unsafe. In the small time
gap between request_irq() and disable_irq(), interrupts can still
come.
The code in the first way is safe though we might be able to do it
in the generic irq code.

With this patch, drivers can request_irq with IRQF_NO_AUTOEN flag.
They will need neither irq_set_status_flags() nor disable_irq().
Hundreds of drivers with this problem will be handled afterwards.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Barry Song <redacted>
Can you also convert some in-kernel drivers to this new api so that we
can see how this works?

thanks,

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