arch: consolidate arch_irq_work_raise prototypes
authorArnd Bergmann <arnd@arndb.de>
Wed, 8 Nov 2023 12:58:29 +0000 (13:58 +0100)
committerArnd Bergmann <arnd@arndb.de>
Thu, 23 Nov 2023 10:32:29 +0000 (11:32 +0100)
The prototype was hidden in an #ifdef on x86, which causes a warning:

kernel/irq_work.c:72:13: error: no previous prototype for 'arch_irq_work_raise' [-Werror=missing-prototypes]

Some architectures have a working prototype, while others don't.
Fix this by providing it in only one place that is always visible.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Acked-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/include/asm/irq_work.h
arch/arm64/include/asm/irq_work.h
arch/csky/include/asm/irq_work.h
arch/powerpc/include/asm/irq_work.h
arch/riscv/include/asm/irq_work.h
arch/s390/include/asm/irq_work.h
arch/x86/include/asm/irq_work.h
include/linux/irq_work.h

index 3149e4dc1b54058098001b622c695893d745afd1..8895999834cc0b73f2b0266cdfd0ddb6015354d0 100644 (file)
@@ -9,6 +9,4 @@ static inline bool arch_irq_work_has_interrupt(void)
        return is_smp();
 }
 
-extern void arch_irq_work_raise(void);
-
 #endif /* _ASM_ARM_IRQ_WORK_H */
index 81bbfa3a035bd2152f5239a37607136091ffb156..a1020285ea75045c08006b4e068181fac4338a51 100644 (file)
@@ -2,8 +2,6 @@
 #ifndef __ASM_IRQ_WORK_H
 #define __ASM_IRQ_WORK_H
 
-extern void arch_irq_work_raise(void);
-
 static inline bool arch_irq_work_has_interrupt(void)
 {
        return true;
index 33aaf39d6f94f66844b6e839161df969c7f7a363..d39fcc1f5395f6d6faa2f3e091c638c07c812b4e 100644 (file)
@@ -7,5 +7,5 @@ static inline bool arch_irq_work_has_interrupt(void)
 {
        return true;
 }
-extern void arch_irq_work_raise(void);
+
 #endif /* __ASM_CSKY_IRQ_WORK_H */
index b8b0be8f1a07eec6530fe6a96f88c6dc61dce8d6..c6d3078bd8c3b442114326c10345b7484f5a0228 100644 (file)
@@ -6,6 +6,5 @@ static inline bool arch_irq_work_has_interrupt(void)
 {
        return true;
 }
-extern void arch_irq_work_raise(void);
 
 #endif /* _ASM_POWERPC_IRQ_WORK_H */
index b53891964ae037216865675ff6f5c5d82a300757..b27a4d64fc6a043fb316e3ac72c4a3465b77b4b7 100644 (file)
@@ -6,5 +6,5 @@ static inline bool arch_irq_work_has_interrupt(void)
 {
        return IS_ENABLED(CONFIG_SMP);
 }
-extern void arch_irq_work_raise(void);
+
 #endif /* _ASM_RISCV_IRQ_WORK_H */
index 603783766d0abb9a6e1b56ea8b588b51a806c351..f00c9f610d5a8e6cc965f00b8fe94c9915e3e46f 100644 (file)
@@ -7,6 +7,4 @@ static inline bool arch_irq_work_has_interrupt(void)
        return true;
 }
 
-void arch_irq_work_raise(void);
-
 #endif /* _ASM_S390_IRQ_WORK_H */
index 800ffce0db29e3d768f215aaf2e2f1dd31bf021f..6b4d36c9516557d77827d8ff05c20c80ae0a09da 100644 (file)
@@ -9,7 +9,6 @@ static inline bool arch_irq_work_has_interrupt(void)
 {
        return boot_cpu_has(X86_FEATURE_APIC);
 }
-extern void arch_irq_work_raise(void);
 #else
 static inline bool arch_irq_work_has_interrupt(void)
 {
index 8cd11a2232605557353ed22a8a00d59729d5f97d..136f2980cba3030adefb65d006758322c44cb36f 100644 (file)
@@ -66,6 +66,9 @@ void irq_work_sync(struct irq_work *work);
 void irq_work_run(void);
 bool irq_work_needs_cpu(void);
 void irq_work_single(void *arg);
+
+void arch_irq_work_raise(void);
+
 #else
 static inline bool irq_work_needs_cpu(void) { return false; }
 static inline void irq_work_run(void) { }