Re: [PATCH] serial: arc_uart: Use platform IRQ helper
From: Rosen Penev
Date: Fri Oct 02 2026 - 03:26:50 EST
On Thu, Oct 1, 2026 at 10:55 PM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Thu, Oct 01, 2026 at 11:58:05AM -0700, Rosen Penev wrote:
> > On Thu, Oct 1, 2026 at 1:42 AM Greg Kroah-Hartman
> > <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > On Fri, Sep 25, 2026 at 11:30:50AM -0700, Rosen Penev wrote:
> > > > Avoid calling irq_dispose_mapping() by letting the platform_device
> > > > machinery handle it. Also enable possibility of handling -EPROBE_DEFER
> > > > and other errors. Handle as early as possible to avoid doing unnecessary
> > > > work.
> > > >
> > > > Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
> > > > ---
> > > > drivers/tty/serial/arc_uart.c | 8 ++++++--
> > > > 1 file changed, 6 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/drivers/tty/serial/arc_uart.c b/drivers/tty/serial/arc_uart.c
> > > > index 3988e5958896..b46b057a181b 100644
> > > > --- a/drivers/tty/serial/arc_uart.c
> > > > +++ b/drivers/tty/serial/arc_uart.c
> > > > @@ -30,7 +30,6 @@
> > > > #include <linux/tty_flip.h>
> > > > #include <linux/serial_core.h>
> > > > #include <linux/io.h>
> > > > -#include <linux/of_irq.h>
> > > > #include <linux/of_address.h>
> > > >
> > > > /*************************************
> > > > @@ -571,12 +570,17 @@ static int arc_serial_probe(struct platform_device *pdev)
> > > > struct arc_uart_port *uart;
> > > > struct uart_port *port;
> > > > int dev_id;
> > > > + int irq;
> > > > u32 val;
> > > >
> > > > /* no device tree device */
> > > > if (!np)
> > > > return -ENODEV;
> > > >
> > > > + irq = platform_get_irq(pdev, 0);
> > > > + if (irq < 0)
> > > > + return irq;
> > > > +
> > > > dev_id = of_alias_get_id(np, "serial");
> > > > if (dev_id < 0)
> > > > dev_id = 0;
> > > > @@ -607,7 +611,7 @@ static int arc_serial_probe(struct platform_device *pdev)
> > > > return PTR_ERR(port->membase);
> > > > }
> > > >
> > > > - port->irq = irq_of_parse_and_map(np, 0);
> > > > + port->irq = irq;
> > > >
> > > > port->dev = &pdev->dev;
> > > > port->iotype = UPIO_MEM;
> > > > --
> > > > 2.55.0
> > > >
> > > >
> > >
> > > You forgot an Assisted-by: tag here :(
> > No LLM used here.
>
> Then what tool was used to find this issue?
git grep irq_of_parse_and_map