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.shevche...@linux.intel.com>
---
 drivers/base/platform.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index d82db3eabcd4..1e61fac64435 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -174,7 +174,7 @@ static int platform_do_get_irq(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
@@ -205,10 +205,8 @@ static int platform_do_get_irq(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);
        }
 
@@ -231,8 +229,9 @@ static int platform_do_get_irq(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;
-- 
2.30.2

Reply via email to