Re: [PATCH] ipmi: si: Use platform_get_irq() to retrieve interrupt
From: Corey Minyard
Date: Wed Jun 03 2026 - 18:56:41 EST
On Wed, Jun 03, 2026 at 12:25:11PM -0700, Rosen Penev wrote:
> Use platform_get_irq() to retrieve the interrupt resource instead of
> directly parsing and mapping the OF node via irq_of_parse_and_map().
> This is the standard pattern for platform devices.
> irq_of_parse_and_map() requires ire_dispose_mapping(), which is missing.
>
> Assisted-by: Antigravity:Gemini-3.5-Flash
> Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
> ---
> drivers/char/ipmi/ipmi_si_platform.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/char/ipmi/ipmi_si_platform.c b/drivers/char/ipmi/ipmi_si_platform.c
> index fb6e359ae494..e10b5d8af092 100644
> --- a/drivers/char/ipmi/ipmi_si_platform.c
> +++ b/drivers/char/ipmi/ipmi_si_platform.c
> @@ -276,7 +276,7 @@ static int of_ipmi_probe(struct platform_device *pdev)
> io.regspacing = regspacing ? be32_to_cpup(regspacing) : DEFAULT_REGSPACING;
> io.regshift = regshift ? be32_to_cpup(regshift) : 0;
>
> - io.irq = irq_of_parse_and_map(pdev->dev.of_node, 0);
> + io.irq = platform_get_irq(pdev, 0);
This should be something like:
io.irq = platform_get_irq_optional(pdev, 0);
if (io.irq > 0)
io.irq_setup = ipmi_std_irq_setup;
else
io.irq = 0;
right?
-corey
> io.dev = &pdev->dev;
>
> dev_dbg(&pdev->dev, "addr 0x%lx regsize %d spacing %d irq %d\n",
> --
> 2.54.0
>