diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2021-03-31 17:59:36 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-04-02 17:02:22 +0200 |
commit | c99f4ebc685d6e8e504f09be4bb28789875ff3db (patch) | |
tree | a9a2073d7dd25a736af53e196347c2076e6d929a /drivers/base | |
parent | cc710790233eb5ca1dc2aeb3a1d1851343c1a1d4 (diff) | |
download | lwn-c99f4ebc685d6e8e504f09be4bb28789875ff3db.tar.gz lwn-c99f4ebc685d6e8e504f09be4bb28789875ff3db.zip |
driver core: platform: Make clear error code used for missed IRQ
We have few code paths where same error code is assigned and
returned for missed IRQ. Unify that under single error path.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20210331145937.35980-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/platform.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 6e1f8e0b661c..9cd34def2237 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -192,7 +192,7 @@ int platform_get_irq_optional(struct platform_device *dev, unsigned int num) #ifdef CONFIG_SPARC /* sparc does not have irqs represented as IORESOURCE_IRQ resources */ if (!dev || num >= dev->archdata.num_irqs) - return -ENXIO; + goto out_not_found; ret = dev->archdata.irqs[num]; goto out; #else @@ -223,10 +223,8 @@ int platform_get_irq_optional(struct platform_device *dev, unsigned int num) struct irq_data *irqd; irqd = irq_get_irq_data(r->start); - if (!irqd) { - ret = -ENXIO; - goto out; - } + if (!irqd) + goto out_not_found; irqd_set_trigger_type(irqd, r->flags & IORESOURCE_BITS); } @@ -249,8 +247,9 @@ int platform_get_irq_optional(struct platform_device *dev, unsigned int num) goto out; } - ret = -ENXIO; #endif +out_not_found: + ret = -ENXIO; out: WARN(ret == 0, "0 is an invalid IRQ number\n"); return ret; |