* [PATCH 02/21] platform/x86: int0002: Remove IRQF_ONESHOT from request_irq() [not found] <20260123113708.416727-1-bigeasy@linutronix.de> @ 2026-01-23 11:36 ` Sebastian Andrzej Siewior 2026-01-23 11:49 ` Sebastian Andrzej Siewior 2026-01-24 10:21 ` Hans de Goede 0 siblings, 2 replies; 4+ messages in thread From: Sebastian Andrzej Siewior @ 2026-01-23 11:36 UTC (permalink / raw) To: linux-kernel Cc: linux-rt-devel, Thomas Gleixner, Sebastian Andrzej Siewior, Hans de Goede, Ilpo Järvinen, platform-driver-x86, Borah, Chaitanya Kumar Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. The flag was added to match the flag on the shared handler which uses a threaded handler and therefore IRQF_ONESHOT. This is no longer needed because devm_request_irq() now passes IRQF_COND_ONESHOT for this case. Revert adding IRQF_ONESHOT to irqflags. Cc: Hans de Goede <hansg@kernel.org> Cc: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com> Cc: platform-driver-x86@vger.kernel.org Reported-by: "Borah, Chaitanya Kumar" <chaitanya.kumar.borah@intel.com> Closes: https://lore.kernel.org/all/555f1c56-0f74-41bf-8bd2-6217e0aab0c6@intel.com Fixes: 8f812373d1958 ("platform/x86: intel: int0002_vgpio: Pass IRQF_ONESHOT to request_irq()") Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- drivers/platform/x86/intel/int0002_vgpio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/intel/int0002_vgpio.c b/drivers/platform/x86/intel/int0002_vgpio.c index 6f5629dc3f8db..562e880256436 100644 --- a/drivers/platform/x86/intel/int0002_vgpio.c +++ b/drivers/platform/x86/intel/int0002_vgpio.c @@ -206,8 +206,8 @@ static int int0002_probe(struct platform_device *pdev) * FIXME: augment this if we managed to pull handling of shared * IRQs into gpiolib. */ - ret = devm_request_irq(dev, irq, int0002_irq, - IRQF_ONESHOT | IRQF_SHARED, "INT0002", chip); + ret = devm_request_irq(dev, irq, int0002_irq, IRQF_SHARED, "INT0002", + chip); if (ret) { dev_err(dev, "Error requesting IRQ %d: %d\n", irq, ret); return ret; -- 2.51.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 02/21] platform/x86: int0002: Remove IRQF_ONESHOT from request_irq() 2026-01-23 11:36 ` [PATCH 02/21] platform/x86: int0002: Remove IRQF_ONESHOT from request_irq() Sebastian Andrzej Siewior @ 2026-01-23 11:49 ` Sebastian Andrzej Siewior 2026-01-26 14:05 ` Ilpo Järvinen 2026-01-24 10:21 ` Hans de Goede 1 sibling, 1 reply; 4+ messages in thread From: Sebastian Andrzej Siewior @ 2026-01-23 11:49 UTC (permalink / raw) To: linux-kernel Cc: linux-rt-devel, Thomas Gleixner, Hans de Goede, Ilpo Järvinen, platform-driver-x86, Borah, Chaitanya Kumar On 2026-01-23 12:36:48 [+0100], To linux-kernel@vger.kernel.org wrote: > Passing IRQF_ONESHOT ensures that the interrupt source is masked until > the secondary (threaded) handler is done. If only a primary handler is > used then the flag makes no sense because the interrupt can not fire > (again) while its handler is running. > The flag also disallows force-threading of the primary handler and the > irq-core will warn about this. > > The flag was added to match the flag on the shared handler which uses a > threaded handler and therefore IRQF_ONESHOT. This is no longer needed > because devm_request_irq() now passes IRQF_COND_ONESHOT for this case. > > Revert adding IRQF_ONESHOT to irqflags. This one should probably go hand in hand with the previous one. It might be easier to route both via tip/irq. Sebastian ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 02/21] platform/x86: int0002: Remove IRQF_ONESHOT from request_irq() 2026-01-23 11:49 ` Sebastian Andrzej Siewior @ 2026-01-26 14:05 ` Ilpo Järvinen 0 siblings, 0 replies; 4+ messages in thread From: Ilpo Järvinen @ 2026-01-26 14:05 UTC (permalink / raw) To: Sebastian Andrzej Siewior Cc: LKML, linux-rt-devel, Thomas Gleixner, Hans de Goede, platform-driver-x86, Borah, Chaitanya Kumar [-- Attachment #1: Type: text/plain, Size: 1002 bytes --] On Fri, 23 Jan 2026, Sebastian Andrzej Siewior wrote: > On 2026-01-23 12:36:48 [+0100], To linux-kernel@vger.kernel.org wrote: > > Passing IRQF_ONESHOT ensures that the interrupt source is masked until > > the secondary (threaded) handler is done. If only a primary handler is > > used then the flag makes no sense because the interrupt can not fire > > (again) while its handler is running. > > The flag also disallows force-threading of the primary handler and the > > irq-core will warn about this. > > > > The flag was added to match the flag on the shared handler which uses a > > threaded handler and therefore IRQF_ONESHOT. This is no longer needed > > because devm_request_irq() now passes IRQF_COND_ONESHOT for this case. > > > > Revert adding IRQF_ONESHOT to irqflags. > > This one should probably go hand in hand with the previous one. It might > be easier to route both via tip/irq. For that, Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> -- i. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 02/21] platform/x86: int0002: Remove IRQF_ONESHOT from request_irq() 2026-01-23 11:36 ` [PATCH 02/21] platform/x86: int0002: Remove IRQF_ONESHOT from request_irq() Sebastian Andrzej Siewior 2026-01-23 11:49 ` Sebastian Andrzej Siewior @ 2026-01-24 10:21 ` Hans de Goede 1 sibling, 0 replies; 4+ messages in thread From: Hans de Goede @ 2026-01-24 10:21 UTC (permalink / raw) To: Sebastian Andrzej Siewior, linux-kernel Cc: linux-rt-devel, Thomas Gleixner, Ilpo Järvinen, platform-driver-x86, Borah, Chaitanya Kumar Hi, On 23-Jan-26 12:36, Sebastian Andrzej Siewior wrote: > Passing IRQF_ONESHOT ensures that the interrupt source is masked until > the secondary (threaded) handler is done. If only a primary handler is > used then the flag makes no sense because the interrupt can not fire > (again) while its handler is running. > The flag also disallows force-threading of the primary handler and the > irq-core will warn about this. > > The flag was added to match the flag on the shared handler which uses a > threaded handler and therefore IRQF_ONESHOT. This is no longer needed > because devm_request_irq() now passes IRQF_COND_ONESHOT for this case. > > Revert adding IRQF_ONESHOT to irqflags. > > Cc: Hans de Goede <hansg@kernel.org> > Cc: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com> > Cc: platform-driver-x86@vger.kernel.org > Reported-by: "Borah, Chaitanya Kumar" <chaitanya.kumar.borah@intel.com> > Closes: https://lore.kernel.org/all/555f1c56-0f74-41bf-8bd2-6217e0aab0c6@intel.com > Fixes: 8f812373d1958 ("platform/x86: intel: int0002_vgpio: Pass IRQF_ONESHOT to request_irq()") > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com> Regards, Hans > --- > drivers/platform/x86/intel/int0002_vgpio.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/intel/int0002_vgpio.c b/drivers/platform/x86/intel/int0002_vgpio.c > index 6f5629dc3f8db..562e880256436 100644 > --- a/drivers/platform/x86/intel/int0002_vgpio.c > +++ b/drivers/platform/x86/intel/int0002_vgpio.c > @@ -206,8 +206,8 @@ static int int0002_probe(struct platform_device *pdev) > * FIXME: augment this if we managed to pull handling of shared > * IRQs into gpiolib. > */ > - ret = devm_request_irq(dev, irq, int0002_irq, > - IRQF_ONESHOT | IRQF_SHARED, "INT0002", chip); > + ret = devm_request_irq(dev, irq, int0002_irq, IRQF_SHARED, "INT0002", > + chip); > if (ret) { > dev_err(dev, "Error requesting IRQ %d: %d\n", irq, ret); > return ret; ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-01-26 14:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260123113708.416727-1-bigeasy@linutronix.de>
2026-01-23 11:36 ` [PATCH 02/21] platform/x86: int0002: Remove IRQF_ONESHOT from request_irq() Sebastian Andrzej Siewior
2026-01-23 11:49 ` Sebastian Andrzej Siewior
2026-01-26 14:05 ` Ilpo Järvinen
2026-01-24 10:21 ` Hans de Goede
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox