* [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: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
* 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
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