driver core: platform: Make platform_get_irq_optional() optional
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 31 Mar 2021 14:45:26 +0000 (17:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 Apr 2021 15:06:34 +0000 (17:06 +0200)
commited7027fdf4ec41ed6df6814956dc11860232a9d5
treead4562e843fd5e2738d7b812ddd4a6ab173a6533
parent318c3e00f13c2f6e11202a22cc302ea8c70552ea
driver core: platform: Make platform_get_irq_optional() optional

Currently the platform_get_irq_optional() returns an error code even
if IRQ resource sumply has not been found. It prevents caller to be
error code agnostic in their error handling.

Now:
ret = platform_get_irq_optional(...);
if (ret != -ENXIO)
return ret; // respect deferred probe
if (ret > 0)
...we get an IRQ...

After proposed change:
ret = platform_get_irq_optional(...);
if (ret < 0)
return ret;
if (ret > 0)
...we get an IRQ...

Reported-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20210331144526.19439-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/platform.c