Re: [PATCH] rtc: st-lpc: get IRQ via platform_get_irq()
Patrice CHOTARD <[email protected]> Wed, 5 Aug 2026 09:58:33 +0200
| Newsgroups | gmane.linux.kernel,gmane.linux.ports.arm.kernel |
|---|---|
| Message-ID | <[email protected]> |
On 7/14/26 02:22, Rosen Penev wrote: > Replace irq_of_parse_and_map() with platform_get_irq(), which resolves > the interrupt from pdev->dev.of_node directly and returns a positive IRQ > or a negative errno (it never returns 0). Propagate the error on failure > instead of the previous open-coded "IRQ missing or invalid" / -EINVAL > message, so -EPROBE_DEFER is handled correctly. The rtc->irq field is a > signed short, so the negative error code is preserved. > > np is still used by of_property_read_u32() for "st,lpc-mode", so it is > not removed. > > Built for ARM (multi_v7_defconfig + CONFIG_RTC_DRV_ST_LPC) with LLVM=1; > drivers/rtc/rtc-st-lpc.o compiles cleanly. > > Assisted-by: opencode:hy3-free > Signed-off-by: Rosen Penev <[email protected]> > --- > drivers/rtc/rtc-st-lpc.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/drivers/rtc/rtc-st-lpc.c b/drivers/rtc/rtc-st-lpc.c > index c6d4522411b3..ae79ddf24f37 100644 > --- a/drivers/rtc/rtc-st-lpc.c > +++ b/drivers/rtc/rtc-st-lpc.c > @@ -18,7 +18,6 @@ > #include <linux/kernel.h> > #include <linux/module.h> > #include <linux/of.h> > -#include <linux/of_irq.h> > #include <linux/platform_device.h> > #include <linux/rtc.h> > > @@ -212,11 +211,9 @@ static int st_rtc_probe(struct platform_device *pdev) > if (IS_ERR(rtc->ioaddr)) > return PTR_ERR(rtc->ioaddr); > > - rtc->irq = irq_of_parse_and_map(np, 0); > - if (!rtc->irq) { > - dev_err(&pdev->dev, "IRQ missing or invalid\n"); > - return -EINVAL; > - } > + rtc->irq = platform_get_irq(pdev, 0); > + if (rtc->irq < 0) > + return rtc->irq; > > ret = devm_request_irq(&pdev->dev, rtc->irq, st_rtc_handler, > IRQF_NO_AUTOEN, pdev->name, rtc); Hi Rosen Reviewed-by: Patrice Chotard <[email protected]> Thanks Patrice