#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
                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);
        }
 
                        goto out;
        }
 
-       ret = -ENXIO;
 #endif
+out_not_found:
+       ret = -ENXIO;
 out:
        WARN(ret == 0, "0 is an invalid IRQ number\n");
        return ret;