Browse Source

genirq: Force inlining of __irq_startup_managed to prevent build failure

If CONFIG_SMP=n, and gcc (e.g. 4.1.2) decides not to inline
__irq_startup_managed(), the build fails with:

    kernel/built-in.o: In function `irq_startup':
    (.text+0x38ed8): undefined reference to `irq_set_affinity_locked'

Fix this by forcing inlining of __irq_startup_managed().

Fixes: 761ea388e8c4e3ac ("genirq: Handle managed irqs gracefully in irq_startup()")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Link: http://lkml.kernel.org/r/1499162761-12398-1-git-send-email-geert@linux-m68k.org
Geert Uytterhoeven 8 years ago
parent
commit
2372a519f6
1 changed files with 1 additions and 1 deletions
  1. 1 1
      kernel/irq/chip.c

+ 1 - 1
kernel/irq/chip.c

@@ -234,7 +234,7 @@ __irq_startup_managed(struct irq_desc *desc, struct cpumask *aff, bool force)
 	return IRQ_STARTUP_MANAGED;
 	return IRQ_STARTUP_MANAGED;
 }
 }
 #else
 #else
-static int
+static __always_inline int
 __irq_startup_managed(struct irq_desc *desc, struct cpumask *aff, bool force)
 __irq_startup_managed(struct irq_desc *desc, struct cpumask *aff, bool force)
 {
 {
 	return IRQ_STARTUP_NORMAL;
 	return IRQ_STARTUP_NORMAL;