On 12/10/21 1:49 AM, Damien Le Moal wrote: >> platform_get_irq() will print a message when it fails. >> No need to repeat this. >> >> While at it, drop redundant check for 0 as platform_get_irq() spills >> out a big WARN() in such case. > > The reason you should be able to remove the "if (!irq)" test is that > platform_get_irq() never returns 0. At least, that is what the function kdoc > says. But looking at platform_get_irq_optional(), which is called by > platform_get_irq(), the out label is: > > WARN(ret == 0, "0 is an invalid IRQ number\n"); > return ret; > > So 0 will be returned as-is. That is rather weird. That should be fixed to > return -ENXIO: > > if (WARN(ret == 0, "0 is an invalid IRQ number\n")) > return -ENXIO; > return ret; My unmerged patch (https://marc.info/?l=linux-kernel&m=163623041902285) does this but returns -EINVAL instead. > Otherwise, I do not think that removing the "if (!irq)" hunk is safe. no ? Of course it isn't... >> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> [...] MBR, Sergey