[PATCH 1/2] thermal/drivers/rcar_gen3: Handle -ENXIO from optional IRQ lookup
Niklas Söderlund
niklas.soderlund at ragnatech.se
Fri Aug 7 03:36:45 PDT 2026
On 2026-08-07 17:11:44 +0700, Bui Duc Phuc wrote:
> Hi Geert,
>
> Thank you for your feedback.
>
> > > irq = platform_get_irq_optional(pdev, i);
> > > - if (irq < 0)
> > > + if (irq < 0 && irq != -ENXIO)
> > > return irq;
> > >
> >
> > So the code may continue using -ENXIO as an interrupt number (and fail)?
> >
>
> Yes, you are right. We should probably handle it similarly to:
> https://elixir.bootlin.com/linux/v7.2-rc6/source/drivers/thermal/renesas/rcar_thermal.c#L422
> and only assign the IRQ when the return value is positive:
> if (ret > 0)
> irq = ret;
>
> > Why is this change needed at all?
> > The caller of rcar_gen3_thermal_request_irqs() knows how to handle
> > failures, as IRQs are optional.
> >
>
> Regarding the caller, I only found rcar_gen3_thermal_request_irqs()
> being called here:
> https://elixir.bootlin.com/linux/v7.2-rc6/source/drivers/thermal/renesas/rcar_gen3_thermal.c#L530
> It does not appear to handle the error return there, so I don't think
> the caller currently handles these failures explicitly.
Yes it does. If it can't get the optional interrupts the driver does not
support setting trip-points in hardware. No?
>
> Best regards,
> Phuc
--
Kind Regards,
Niklas Söderlund
More information about the linux-arm-kernel
mailing list