* [PATCH] media: synopsys: hdmirx: use request_any_context_irq() for 5V detection IRQ
@ 2026-07-03 7:00 Alexander Shiyan
2026-07-03 14:45 ` Dmitry Osipenko
0 siblings, 1 reply; 2+ messages in thread
From: Alexander Shiyan @ 2026-07-03 7:00 UTC (permalink / raw)
To: linux-media
Cc: Dmitry Osipenko, Mauro Carvalho Chehab, Hans Verkuil,
Shreeya Patel, Dingxian Wen, Alexander Shiyan
Replace devm_request_irq() with devm_request_any_context_irq()
for the 5V detection interrupt handler. This allows the kernel
to choose the appropriate execution context (hardirq or threaded)
depending on the underlying interrupt controller. On some platforms,
the interrupt may be nested or require a threaded handler, and
using the fixed hardirq version can cause probe failures.
Switching to the more flexible function improves driver portability
without affecting functionality.
Fixes: 7b59b132ad43 ("media: platform: synopsys: Add support for HDMI input driver")
Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
---
drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
index 4c8957505a50..fa9818705f42 100644
--- a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
+++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
@@ -2609,10 +2609,11 @@ static int hdmirx_setup_irq(struct snps_hdmirx_dev *hdmirx_dev,
irq_set_status_flags(irq, IRQ_NOAUTOEN);
hdmirx_dev->det_irq = irq;
- ret = devm_request_irq(dev, irq, hdmirx_5v_det_irq_handler,
- IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
- "rk_hdmirx-5v", hdmirx_dev);
- if (ret) {
+ ret = devm_request_any_context_irq(dev, irq, hdmirx_5v_det_irq_handler,
+ IRQF_TRIGGER_FALLING |
+ IRQF_TRIGGER_RISING,
+ "rk_hdmirx-5v", hdmirx_dev);
+ if (ret < 0) {
dev_err_probe(dev, ret, "failed to request hdmirx-5v irq\n");
return ret;
}
--
2.52.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] media: synopsys: hdmirx: use request_any_context_irq() for 5V detection IRQ
2026-07-03 7:00 [PATCH] media: synopsys: hdmirx: use request_any_context_irq() for 5V detection IRQ Alexander Shiyan
@ 2026-07-03 14:45 ` Dmitry Osipenko
0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Osipenko @ 2026-07-03 14:45 UTC (permalink / raw)
To: Alexander Shiyan, linux-media, Hans Verkuil
Cc: Mauro Carvalho Chehab, Shreeya Patel, Dingxian Wen
On 7/3/26 10:00, Alexander Shiyan wrote:
> Replace devm_request_irq() with devm_request_any_context_irq()
> for the 5V detection interrupt handler. This allows the kernel
> to choose the appropriate execution context (hardirq or threaded)
> depending on the underlying interrupt controller. On some platforms,
> the interrupt may be nested or require a threaded handler, and
> using the fixed hardirq version can cause probe failures.
> Switching to the more flexible function improves driver portability
> without affecting functionality.
>
> Fixes: 7b59b132ad43 ("media: platform: synopsys: Add support for HDMI input driver")
> Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
> ---
> drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
> index 4c8957505a50..fa9818705f42 100644
> --- a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
> +++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
> @@ -2609,10 +2609,11 @@ static int hdmirx_setup_irq(struct snps_hdmirx_dev *hdmirx_dev,
> irq_set_status_flags(irq, IRQ_NOAUTOEN);
>
> hdmirx_dev->det_irq = irq;
> - ret = devm_request_irq(dev, irq, hdmirx_5v_det_irq_handler,
> - IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
> - "rk_hdmirx-5v", hdmirx_dev);
> - if (ret) {
> + ret = devm_request_any_context_irq(dev, irq, hdmirx_5v_det_irq_handler,
> + IRQF_TRIGGER_FALLING |
> + IRQF_TRIGGER_RISING,
> + "rk_hdmirx-5v", hdmirx_dev);
> + if (ret < 0) {
> dev_err_probe(dev, ret, "failed to request hdmirx-5v irq\n");
> return ret;
> }
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
--
Best regards,
Dmitry
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-03 14:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-03 7:00 [PATCH] media: synopsys: hdmirx: use request_any_context_irq() for 5V detection IRQ Alexander Shiyan
2026-07-03 14:45 ` Dmitry Osipenko
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.