linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/17] -Wmissing-prototype warning fixes
@ 2023-08-10 14:19 Arnd Bergmann
  2023-08-10 14:19 ` [PATCH 01/17] [RESEND] jffs2: mark __jffs2_dbg_superblock_counts() static Arnd Bergmann
                   ` (19 more replies)
  0 siblings, 20 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel
  Cc: Arnd Bergmann, Matt Turner, Vineet Gupta, Russell King,
	Catalin Marinas, Will Deacon, Guo Ren, Brian Cain, Huacai Chen,
	WANG Xuerui, Geert Uytterhoeven, Michal Simek,
	Thomas Bogendoerfer, Dinh Nguyen, Jonas Bonn,
	Stefan Kristiansson, Stafford Horne, James E.J. Bottomley,
	Helge Deller, Michael Ellerman, Christophe Leroy, Palmer Dabbelt,
	Heiko Carstens, John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Max Filippov, Jens Axboe, Sudip Mukherjee, Martin K. Petersen,
	Richard Weinberger, Bjorn Helgaas, Masahiro Yamada,
	Nathan Chancellor, Nick Desaulniers, Guenter Roeck,
	Stephen Rothwell, linux-next, linux-alpha, linux-snps-arc,
	linux-arm-kernel, linux-csky, linux-hexagon, linux-ia64,
	loongarch, linux-m68k, linux-mips, linux-openrisc, linux-parisc,
	linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
	linux-block, linux-scsi, linux-mtd, linux-trace-kernel,
	linux-pci, linux-kbuild

From: Arnd Bergmann <arnd@arndb.de>

Most of the patches I sent so far for the -Wmissing-prototype warnings
have made it into linux-next now. There are a few that I'm resending
now as nobody has picked them up, and then a number of fixes that I
found while test-building across all architectures rather than just the
ones I usually test.

The first 15 patches in this series should be uncontroversial, so
I expect that either a subsystem maintainer or Andrew Morton can
apply these directly.

For the last two patches, these might still need some debate about how
to handle them. I added a Kconfig option to turn off most of the missing
prototype warnings in the architectures that nobody has fixed yet,
see patch 16 for those. The last patch does cause some known warnings
and likely unknown ones for architectures other than x86 and arm,
so applying it now will bring new problems, but not applying it also
means that new warnings creep in, so I think this is mainly a question
of what the best timing is for having this in linux-next.

Arnd Bergmann (17):
  [RESEND] jffs2: mark __jffs2_dbg_superblock_counts() static
  [RESEND] irq_work: consolidate arch_irq_work_raise prototypes
  [RESEND] ida: make 'ida_dump' static
  pci: sysfs: move declarations to linux/pci.h
  swim3: mark swim3_init() static
  macintosh/ams: mark ams_init() static
  scsi: qlogicpti: mark qlogicpti_info() static
  microblaze: mark flush_dcache_folio() inline
  parport: gsc: mark init function static
  zorro: include zorro.h in names.c
  scsi: gvp11: remove unused gvp11_setup() function
  time: make sysfs_get_uname() function visible in header
  stackleak: add declarations for global functions
  kprobes: unify kprobes_exceptions_nofify() prototypes
  arch: fix asm-offsets.c building with -Wmissing-prototypes
  [RFC] arch: turn -Wmissing-prototypes off conditionally
  [RFC] Makefile.extrawarn: turn on missing-prototypes again

 arch/alpha/Kbuild                        |  2 ++
 arch/alpha/include/asm/pci.h             |  3 ---
 arch/alpha/kernel/asm-offsets.c          |  2 +-
 arch/alpha/lib/Makefile                  |  1 +
 arch/arc/Kbuild                          |  2 ++
 arch/arc/include/asm/kprobes.h           |  3 ---
 arch/arm/include/asm/irq_work.h          |  2 --
 arch/arm/include/asm/kprobes.h           |  2 --
 arch/arm64/include/asm/irq_work.h        |  2 --
 arch/arm64/include/asm/kprobes.h         |  2 --
 arch/csky/Kbuild                         |  2 ++
 arch/csky/include/asm/irq_work.h         |  2 +-
 arch/hexagon/Kbuild                      |  2 ++
 arch/ia64/Kbuild                         |  2 ++
 arch/ia64/include/asm/kprobes.h          |  2 --
 arch/ia64/kernel/asm-offsets.c           |  2 +-
 arch/ia64/lib/Makefile                   |  1 +
 arch/loongarch/Kbuild                    |  2 ++
 arch/loongarch/kernel/asm-offsets.c      | 12 ++++++++++++
 arch/m68k/Kbuild                         |  2 ++
 arch/m68k/lib/Makefile                   |  1 +
 arch/microblaze/Kbuild                   |  2 ++
 arch/microblaze/include/asm/cacheflush.h |  2 +-
 arch/mips/Kbuild                         |  2 ++
 arch/mips/boot/compressed/Makefile       |  3 ++-
 arch/mips/include/asm/kprobes.h          |  2 --
 arch/nios2/Kbuild                        |  2 ++
 arch/nios2/lib/Makefile                  |  1 +
 arch/openrisc/Kbuild                     |  2 ++
 arch/parisc/Kbuild                       |  2 ++
 arch/parisc/lib/Makefile                 |  1 +
 arch/powerpc/include/asm/irq_work.h      |  1 -
 arch/powerpc/include/asm/kprobes.h       |  2 --
 arch/riscv/include/asm/irq_work.h        |  2 +-
 arch/s390/include/asm/irq_work.h         |  2 --
 arch/s390/include/asm/kprobes.h          |  2 --
 arch/sh/Kbuild                           |  2 ++
 arch/sh/boot/compressed/Makefile         |  1 +
 arch/sh/include/asm/kprobes.h            |  2 --
 arch/sparc/Kbuild                        |  2 ++
 arch/sparc/include/asm/kprobes.h         |  2 --
 arch/sparc/kernel/asm-offsets.c          | 13 ++-----------
 arch/sparc/lib/Makefile                  |  1 +
 arch/sparc/prom/Makefile                 |  1 +
 arch/x86/include/asm/irq_work.h          |  1 -
 arch/x86/include/asm/kprobes.h           |  2 --
 arch/xtensa/Kbuild                       |  2 ++
 arch/xtensa/boot/lib/Makefile            |  2 ++
 drivers/block/swim3.c                    |  2 +-
 drivers/macintosh/ams/ams-core.c         |  2 +-
 drivers/parport/parport_gsc.c            |  2 +-
 drivers/scsi/gvp11.c                     |  5 -----
 drivers/scsi/qlogicpti.c                 |  2 +-
 drivers/zorro/names.c                    |  1 +
 fs/jffs2/debug.c                         |  2 +-
 include/linux/irq_work.h                 |  3 +++
 include/linux/kprobes.h                  |  4 ++++
 include/linux/pci.h                      |  5 +++++
 include/linux/stackleak.h                |  6 ++++++
 init/Kconfig                             | 10 ++++++++++
 kernel/time/tick-internal.h              |  3 ++-
 lib/test_ida.c                           |  2 +-
 scripts/Makefile.extrawarn               |  5 +++--
 63 files changed, 101 insertions(+), 63 deletions(-)

-- 
2.39.2
Cc: Matt Turner <mattst88@gmail.com>
Cc: Vineet Gupta <vgupta@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Guo Ren <guoren@kernel.org>
Cc: Brian Cain <bcain@quicinc.com>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Cc: Stafford Horne <shorne@gmail.com>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: x86@kernel.org
Cc: Borislav Petkov <bp@alien8.de>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: linux-next@vger.kernel.org
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-alpha@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-mips@vger.kernel.org
Cc: linux-openrisc@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-s390@vger.kernel.org
Cc: linux-sh@vger.kernel.org
Cc: sparclinux@vger.kernel.org
Cc: linux-block@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-mtd@lists.infradead.org
Cc: linux-trace-kernel@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-kbuild@vger.kernel.org

^ permalink raw reply	[flat|nested] 52+ messages in thread

* [PATCH 01/17] [RESEND] jffs2: mark __jffs2_dbg_superblock_counts() static
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 14:19 ` [PATCH 02/17] [RESEND] irq_work: consolidate arch_irq_work_raise prototypes Arnd Bergmann
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, David Woodhouse, Richard Weinberger
  Cc: Arnd Bergmann, Tudor Ambarus, linux-mtd

From: Arnd Bergmann <arnd@arndb.de>

This function is only called locally and does not need to be
global. Since there is no external prototype, gcc warns about
the non-static definition:

fs/jffs2/debug.c:160:6: error: no previous prototype for '__jffs2_dbg_superblock_counts' [-Werror=missing-prototypes]

Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 fs/jffs2/debug.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/jffs2/debug.c b/fs/jffs2/debug.c
index 9d26b1b9fc014..0925caab23c4b 100644
--- a/fs/jffs2/debug.c
+++ b/fs/jffs2/debug.c
@@ -157,7 +157,7 @@ __jffs2_dbg_prewrite_paranoia_check(struct jffs2_sb_info *c,
 	kfree(buf);
 }
 
-void __jffs2_dbg_superblock_counts(struct jffs2_sb_info *c)
+static void __jffs2_dbg_superblock_counts(struct jffs2_sb_info *c)
 {
 	struct jffs2_eraseblock *jeb;
 	uint32_t free = 0, dirty = 0, used = 0, wasted = 0,
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 02/17] [RESEND] irq_work: consolidate arch_irq_work_raise prototypes
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
  2023-08-10 14:19 ` [PATCH 01/17] [RESEND] jffs2: mark __jffs2_dbg_superblock_counts() static Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-11 22:10   ` Masahiro Yamada
  2023-08-10 14:19 ` [PATCH 03/17] [RESEND] ida: make 'ida_dump' static Arnd Bergmann
                   ` (17 subsequent siblings)
  19 siblings, 1 reply; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel
  Cc: Arnd Bergmann, Catalin Marinas, Palmer Dabbelt, Guo Ren,
	Alexander Gordeev, Russell King, Will Deacon, Michael Ellerman,
	Nicholas Piggin, Christophe Leroy, Paul Walmsley, Palmer Dabbelt,
	Albert Ou, Heiko Carstens, Vasily Gorbik, Christian Borntraeger,
	Sven Schnelle, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	Dave Hansen, x86, H. Peter Anvin, linux-arm-kernel, linux-csky,
	linuxppc-dev, linux-riscv, linux-s390

From: Arnd Bergmann <arnd@arndb.de>

The prototype was hidden on x86, which causes a warning:

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

Fix this by providing it in only one place that is always visible.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Acked-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/include/asm/irq_work.h     | 2 --
 arch/arm64/include/asm/irq_work.h   | 2 --
 arch/csky/include/asm/irq_work.h    | 2 +-
 arch/powerpc/include/asm/irq_work.h | 1 -
 arch/riscv/include/asm/irq_work.h   | 2 +-
 arch/s390/include/asm/irq_work.h    | 2 --
 arch/x86/include/asm/irq_work.h     | 1 -
 include/linux/irq_work.h            | 3 +++
 8 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/arch/arm/include/asm/irq_work.h b/arch/arm/include/asm/irq_work.h
index 3149e4dc1b540..8895999834cc0 100644
--- a/arch/arm/include/asm/irq_work.h
+++ b/arch/arm/include/asm/irq_work.h
@@ -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 */
diff --git a/arch/arm64/include/asm/irq_work.h b/arch/arm64/include/asm/irq_work.h
index 81bbfa3a035bd..a1020285ea750 100644
--- a/arch/arm64/include/asm/irq_work.h
+++ b/arch/arm64/include/asm/irq_work.h
@@ -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;
diff --git a/arch/csky/include/asm/irq_work.h b/arch/csky/include/asm/irq_work.h
index 33aaf39d6f94f..d39fcc1f5395f 100644
--- a/arch/csky/include/asm/irq_work.h
+++ b/arch/csky/include/asm/irq_work.h
@@ -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 */
diff --git a/arch/powerpc/include/asm/irq_work.h b/arch/powerpc/include/asm/irq_work.h
index b8b0be8f1a07e..c6d3078bd8c3b 100644
--- a/arch/powerpc/include/asm/irq_work.h
+++ b/arch/powerpc/include/asm/irq_work.h
@@ -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 */
diff --git a/arch/riscv/include/asm/irq_work.h b/arch/riscv/include/asm/irq_work.h
index b53891964ae03..b27a4d64fc6a0 100644
--- a/arch/riscv/include/asm/irq_work.h
+++ b/arch/riscv/include/asm/irq_work.h
@@ -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 */
diff --git a/arch/s390/include/asm/irq_work.h b/arch/s390/include/asm/irq_work.h
index 603783766d0ab..f00c9f610d5a8 100644
--- a/arch/s390/include/asm/irq_work.h
+++ b/arch/s390/include/asm/irq_work.h
@@ -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 */
diff --git a/arch/x86/include/asm/irq_work.h b/arch/x86/include/asm/irq_work.h
index 800ffce0db29e..6b4d36c951655 100644
--- a/arch/x86/include/asm/irq_work.h
+++ b/arch/x86/include/asm/irq_work.h
@@ -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)
 {
diff --git a/include/linux/irq_work.h b/include/linux/irq_work.h
index 8cd11a2232605..136f2980cba30 100644
--- a/include/linux/irq_work.h
+++ b/include/linux/irq_work.h
@@ -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) { }
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 03/17] [RESEND] ida: make 'ida_dump' static
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
  2023-08-10 14:19 ` [PATCH 01/17] [RESEND] jffs2: mark __jffs2_dbg_superblock_counts() static Arnd Bergmann
  2023-08-10 14:19 ` [PATCH 02/17] [RESEND] irq_work: consolidate arch_irq_work_raise prototypes Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 14:19 ` [PATCH 04/17] pci: sysfs: move declarations to linux/pci.h Arnd Bergmann
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Matthew Wilcox; +Cc: Arnd Bergmann

From: Arnd Bergmann <arnd@arndb.de>

There is no global declaration for ida_dump() and no other
callers, so make it static to avoid this warning:

lib/test_ida.c:16:6: error: no previous prototype for 'ida_dump'

Fixes: 8ab8ba38d488 ("ida: Start new test_ida module")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 lib/test_ida.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/test_ida.c b/lib/test_ida.c
index b068806259615..f946c80ced8b6 100644
--- a/lib/test_ida.c
+++ b/lib/test_ida.c
@@ -13,7 +13,7 @@ static unsigned int tests_run;
 static unsigned int tests_passed;
 
 #ifdef __KERNEL__
-void ida_dump(struct ida *ida) { }
+static void ida_dump(struct ida *ida) { }
 #endif
 #define IDA_BUG_ON(ida, x) do {						\
 	tests_run++;							\
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 04/17] pci: sysfs: move declarations to linux/pci.h
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (2 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 03/17] [RESEND] ida: make 'ida_dump' static Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 14:38   ` Bjorn Helgaas
  2023-08-10 14:19 ` [PATCH 05/17] swim3: mark swim3_init() static Arnd Bergmann
                   ` (15 subsequent siblings)
  19 siblings, 1 reply; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Richard Henderson, Ivan Kokshaysky,
	Matt Turner, Bjorn Helgaas
  Cc: Arnd Bergmann, Thomas Gleixner, Andy Shevchenko, Dan Williams,
	Kuppuswamy Sathyanarayanan, Christophe JAILLET, Reinette Chatre,
	Ira Weiny, Mika Westerberg, Ahmed S. Darwish, Sami Tolvanen,
	linux-alpha, linux-pci

From: Arnd Bergmann <arnd@arndb.de>

A couple of architectures build the __weak versions of
pci_create_resource_files() and pci_remove_resource_files() but don't
have prototypes for these, which causes warnings:

drivers/pci/pci-sysfs.c:1253:12: error: no previous prototype for 'pci_create_resource_files' [-Werror=missing-prototypes]
 1253 | int __weak pci_create_resource_files(struct pci_dev *dev) { return 0; }
drivers/pci/pci-sysfs.c:1254:13: error: no previous prototype for 'pci_remove_resource_files' [-Werror=missing-prototypes]
 1254 | void __weak pci_remove_resource_files(struct pci_dev *dev) { return; }

Move the prototypes from alpha architecture into the global header to
avoid these warnings for all of them.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/alpha/include/asm/pci.h | 3 ---
 include/linux/pci.h          | 5 +++++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/alpha/include/asm/pci.h b/arch/alpha/include/asm/pci.h
index 6312656279d79..6c04fcbdc8ed2 100644
--- a/arch/alpha/include/asm/pci.h
+++ b/arch/alpha/include/asm/pci.h
@@ -88,7 +88,4 @@ extern void pci_adjust_legacy_attr(struct pci_bus *bus,
 				   enum pci_mmap_state mmap_type);
 #define HAVE_PCI_LEGACY	1
 
-extern int pci_create_resource_files(struct pci_dev *dev);
-extern void pci_remove_resource_files(struct pci_dev *dev);
-
 #endif /* __ALPHA_PCI_H */
diff --git a/include/linux/pci.h b/include/linux/pci.h
index eeb2e6f6130f4..198a399c4b792 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -2260,6 +2260,11 @@ int pcibios_alloc_irq(struct pci_dev *dev);
 void pcibios_free_irq(struct pci_dev *dev);
 resource_size_t pcibios_default_alignment(void);
 
+#if !defined(HAVE_PCI_MMAP) && !defined(ARCH_GENERIC_PCI_MMAP_RESOURCE)
+extern int pci_create_resource_files(struct pci_dev *dev);
+extern void pci_remove_resource_files(struct pci_dev *dev);
+#endif
+
 #if defined(CONFIG_PCI_MMCONFIG) || defined(CONFIG_ACPI_MCFG)
 void __init pci_mmcfg_early_init(void);
 void __init pci_mmcfg_late_init(void);
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 05/17] swim3: mark swim3_init() static
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (3 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 04/17] pci: sysfs: move declarations to linux/pci.h Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 14:26   ` Jinpu Wang
  2023-08-10 14:33   ` Jens Axboe
  2023-08-10 14:19 ` [PATCH 06/17] macintosh/ams: mark ams_init() static Arnd Bergmann
                   ` (14 subsequent siblings)
  19 siblings, 2 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Jens Axboe
  Cc: Arnd Bergmann, Christian Brauner, Hannes Reinecke, Jack Wang,
	linux-block

From: Arnd Bergmann <arnd@arndb.de>

This is the module init function, which by definition is used only
locally, so mark it static to avoid a warning:

drivers/block/swim3.c:1280:5: error: no previous prototype for 'swim3_init' [-Werror=missing-prototypes]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/block/swim3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c
index dc43a63b34694..c2bc85826358e 100644
--- a/drivers/block/swim3.c
+++ b/drivers/block/swim3.c
@@ -1277,7 +1277,7 @@ static struct macio_driver swim3_driver =
 };
 
 
-int swim3_init(void)
+static int swim3_init(void)
 {
 	macio_register_driver(&swim3_driver);
 	return 0;
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 06/17] macintosh/ams: mark ams_init() static
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (4 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 05/17] swim3: mark swim3_init() static Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 17:21   ` Christophe Leroy
  2023-08-10 14:19 ` [PATCH 07/17] scsi: qlogicpti: mark qlogicpti_info() static Arnd Bergmann
                   ` (13 subsequent siblings)
  19 siblings, 1 reply; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel; +Cc: Arnd Bergmann, linuxppc-dev

From: Arnd Bergmann <arnd@arndb.de>

This is the module init function, which by definition is used only
locally, so mark it static to avoid a warning:

drivers/macintosh/ams/ams-core.c:179:12: error: no previous prototype for 'ams_init' [-Werror=missing-prototypes]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/macintosh/ams/ams-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/macintosh/ams/ams-core.c b/drivers/macintosh/ams/ams-core.c
index 877e8cb231283..c978b4272daa5 100644
--- a/drivers/macintosh/ams/ams-core.c
+++ b/drivers/macintosh/ams/ams-core.c
@@ -176,7 +176,7 @@ int ams_sensor_attach(void)
 	return result;
 }
 
-int __init ams_init(void)
+static int __init ams_init(void)
 {
 	struct device_node *np;
 
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 07/17] scsi: qlogicpti: mark qlogicpti_info() static
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (5 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 06/17] macintosh/ams: mark ams_init() static Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 14:27   ` Jinpu Wang
  2023-08-21 20:38   ` Martin K. Petersen
  2023-08-10 14:19 ` [PATCH 08/17] microblaze: mark flush_dcache_folio() inline Arnd Bergmann
                   ` (12 subsequent siblings)
  19 siblings, 2 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, James E.J. Bottomley, Martin K. Petersen
  Cc: Arnd Bergmann, Rob Herring, Bart Van Assche, Jack Wang, linux-scsi

From: Arnd Bergmann <arnd@arndb.de>

The qlogicpti_info() function is only used in this file and should
be static to avoid a warning:

drivers/scsi/qlogicpti.c:846:13: error: no previous prototype for 'qlogicpti_info' [-Werror=missing-prototypes]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/scsi/qlogicpti.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
index f88a5421c483f..3b95f7a6216fe 100644
--- a/drivers/scsi/qlogicpti.c
+++ b/drivers/scsi/qlogicpti.c
@@ -843,7 +843,7 @@ static int qpti_map_queues(struct qlogicpti *qpti)
 	return 0;
 }
 
-const char *qlogicpti_info(struct Scsi_Host *host)
+static const char *qlogicpti_info(struct Scsi_Host *host)
 {
 	static char buf[80];
 	struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata;
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 08/17] microblaze: mark flush_dcache_folio() inline
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (6 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 07/17] scsi: qlogicpti: mark qlogicpti_info() static Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-23  7:34   ` Michal Simek
  2023-08-10 14:19 ` [PATCH 09/17] parport: gsc: mark init function static Arnd Bergmann
                   ` (11 subsequent siblings)
  19 siblings, 1 reply; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Michal Simek,
	Matthew Wilcox (Oracle), Mike Rapoport (IBM)
  Cc: Arnd Bergmann

From: Arnd Bergmann <arnd@arndb.de>

The newly added flush_dcache_folio() causes a harmless warning that
turns into a build failure with CONFIG_WERROR:

arch/microblaze/include/asm/cacheflush.h:77:13: error: 'flush_dcache_folio' defined but not used [-Werror=unused-function]

Mark it as inline to avoid this.

Fixes: 1330c94f53996 ("microblaze: implement the new page table range API")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/microblaze/include/asm/cacheflush.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/microblaze/include/asm/cacheflush.h b/arch/microblaze/include/asm/cacheflush.h
index e6641ff98cb30..ffa2cf3893e4b 100644
--- a/arch/microblaze/include/asm/cacheflush.h
+++ b/arch/microblaze/include/asm/cacheflush.h
@@ -74,7 +74,7 @@ do { \
 	flush_dcache_range((unsigned) (addr), (unsigned) (addr) + PAGE_SIZE); \
 } while (0);
 
-static void flush_dcache_folio(struct folio *folio)
+static inline void flush_dcache_folio(struct folio *folio)
 {
 	unsigned long addr = folio_pfn(folio) << PAGE_SHIFT;
 
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 09/17] parport: gsc: mark init function static
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (7 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 08/17] microblaze: mark flush_dcache_folio() inline Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 15:13   ` Helge Deller
  2023-08-28 10:04   ` Sudip Mukherjee
  2023-08-10 14:19 ` [PATCH 10/17] zorro: include zorro.h in names.c Arnd Bergmann
                   ` (10 subsequent siblings)
  19 siblings, 2 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, James E.J. Bottomley, Helge Deller,
	Sudip Mukherjee
  Cc: Arnd Bergmann, linux-parisc

From: Arnd Bergmann <arnd@arndb.de>

This is only used locally, so mark it static to avoid a warning:

drivers/parport/parport_gsc.c:395:5: error: no previous prototype for 'parport_gsc_init' [-Werror=missing-prototypes]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/parport/parport_gsc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/parport/parport_gsc.c b/drivers/parport/parport_gsc.c
index 5e4475254bd0a..c7e18382dc014 100644
--- a/drivers/parport/parport_gsc.c
+++ b/drivers/parport/parport_gsc.c
@@ -392,7 +392,7 @@ static struct parisc_driver parport_driver __refdata = {
 	.remove		= __exit_p(parport_remove_chip),
 };
 
-int parport_gsc_init(void)
+static int parport_gsc_init(void)
 {
 	return register_parisc_driver(&parport_driver);
 }
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 10/17] zorro: include zorro.h in names.c
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (8 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 09/17] parport: gsc: mark init function static Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-16 15:49   ` Geert Uytterhoeven
  2023-08-10 14:19 ` [PATCH 11/17] scsi: gvp11: remove unused gvp11_setup() function Arnd Bergmann
                   ` (9 subsequent siblings)
  19 siblings, 1 reply; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Geert Uytterhoeven; +Cc: Arnd Bergmann, linux-m68k

From: Arnd Bergmann <arnd@arndb.de>

The zorro_name_device() function is defined in drivers/zorror/names.c, but
the declaration is not visible there:

drivers/zorro/names.c:58:13: error: no previous prototype for 'zorro_name_device' [-Werror=missing-prototypes]
   58 | void __init zorro_name_device(struct zorro_dev *dev)

Include the header to avoid the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/zorro/names.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/zorro/names.c b/drivers/zorro/names.c
index fa3c83dbe8431..077114ccc8407 100644
--- a/drivers/zorro/names.c
+++ b/drivers/zorro/names.c
@@ -15,6 +15,7 @@
 #include <linux/types.h>
 #include <linux/zorro.h>
 
+#include "zorro.h"
 
 struct zorro_prod_info {
 	__u16 prod;
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 11/17] scsi: gvp11: remove unused gvp11_setup() function
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (9 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 10/17] zorro: include zorro.h in names.c Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-16 15:52   ` Geert Uytterhoeven
  2023-08-21 20:38   ` Martin K. Petersen
  2023-08-10 14:19 ` [PATCH 12/17] time: make sysfs_get_uname() function visible in header Arnd Bergmann
                   ` (8 subsequent siblings)
  19 siblings, 2 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, James E.J. Bottomley, Martin K. Petersen
  Cc: Arnd Bergmann, Bart Van Assche, linux-scsi

From: Arnd Bergmann <arnd@arndb.de>

This function has no declaration, which causes a warning:

drivers/scsi/gvp11.c:53:6: error: no previous prototype for 'gvp11_setup' [-Werror=missing-prototypes]

Since there is also no caller, just remove the function.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/scsi/gvp11.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/scsi/gvp11.c b/drivers/scsi/gvp11.c
index d2eddad099a2b..0420bfe9bd42d 100644
--- a/drivers/scsi/gvp11.c
+++ b/drivers/scsi/gvp11.c
@@ -50,11 +50,6 @@ static irqreturn_t gvp11_intr(int irq, void *data)
 
 static int gvp11_xfer_mask = 0;
 
-void gvp11_setup(char *str, int *ints)
-{
-	gvp11_xfer_mask = ints[1];
-}
-
 static int dma_setup(struct scsi_cmnd *cmd, int dir_in)
 {
 	struct scsi_pointer *scsi_pointer = WD33C93_scsi_pointer(cmd);
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 12/17] time: make sysfs_get_uname() function visible in header
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (10 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 11/17] scsi: gvp11: remove unused gvp11_setup() function Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 14:19 ` [PATCH 13/17] stackleak: add declarations for global functions Arnd Bergmann
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Frederic Weisbecker,
	Thomas Gleixner, Ingo Molnar
  Cc: Arnd Bergmann

From: Arnd Bergmann <arnd@arndb.de>

This function is defined globally in clocksource.c and used conditionally
in clockevent.c, which the declaration hidden when clockevent support
is disabled. This causes a harmless warning in the definition:

kernel/time/clocksource.c:1324:9: warning: no previous prototype for 'sysfs_get_uname' [-Wmissing-prototypes]
 1324 | ssize_t sysfs_get_uname(const char *buf, char *dst, size_t cnt)

Move the declaration out of the #ifdef so it is always visible.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 kernel/time/tick-internal.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h
index 649f2b48e8f06..481b7ab65e2cf 100644
--- a/kernel/time/tick-internal.h
+++ b/kernel/time/tick-internal.h
@@ -56,7 +56,6 @@ extern int clockevents_program_event(struct clock_event_device *dev,
 				     ktime_t expires, bool force);
 extern void clockevents_handle_noop(struct clock_event_device *dev);
 extern int __clockevents_update_freq(struct clock_event_device *dev, u32 freq);
-extern ssize_t sysfs_get_uname(const char *buf, char *dst, size_t cnt);
 
 /* Broadcasting support */
 # ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST
@@ -197,3 +196,5 @@ void hrtimers_resume_local(void);
 #else
 #define JIFFIES_SHIFT	8
 #endif
+
+extern ssize_t sysfs_get_uname(const char *buf, char *dst, size_t cnt);
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 13/17] stackleak: add declarations for global functions
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (11 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 12/17] time: make sysfs_get_uname() function visible in header Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 14:19 ` [PATCH 14/17] kprobes: unify kprobes_exceptions_nofify() prototypes Arnd Bergmann
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel; +Cc: Arnd Bergmann

From: Arnd Bergmann <arnd@arndb.de>

With -Wmissing-prototypes enabled, the stackleak code produces a couple of
warnings that have no declarations because they are only called from assembler:

stackleak.c:127:25: error: no previous prototype for 'stackleak_erase' [-Werror=missing-prototypes]
stackleak.c:139:25: error: no previous prototype for 'stackleak_erase_on_task_stack' [-Werror=missing-prototypes]
stackleak.c:151:25: error: no previous prototype for 'stackleak_erase_off_task_stack' [-Werror=missing-prototypes]
stackleak.c:159:49: error: no previous prototype for 'stackleak_track_stack' [-Werror=missing-prototypes]

Add declarations to the stackleak header to shut up the warnings.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 include/linux/stackleak.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/include/linux/stackleak.h b/include/linux/stackleak.h
index c36e7a3b45e7e..3be2cb564710b 100644
--- a/include/linux/stackleak.h
+++ b/include/linux/stackleak.h
@@ -14,6 +14,7 @@
 
 #ifdef CONFIG_GCC_PLUGIN_STACKLEAK
 #include <asm/stacktrace.h>
+#include <linux/linkage.h>
 
 /*
  * The lowest address on tsk's stack which we can plausibly erase.
@@ -76,6 +77,11 @@ static inline void stackleak_task_init(struct task_struct *t)
 # endif
 }
 
+asmlinkage void noinstr stackleak_erase(void);
+asmlinkage void noinstr stackleak_erase_on_task_stack(void);
+asmlinkage void noinstr stackleak_erase_off_task_stack(void);
+void __no_caller_saved_registers noinstr stackleak_track_stack(void);
+
 #else /* !CONFIG_GCC_PLUGIN_STACKLEAK */
 static inline void stackleak_task_init(struct task_struct *t) { }
 #endif
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 14/17] kprobes: unify kprobes_exceptions_nofify() prototypes
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (12 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 13/17] stackleak: add declarations for global functions Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-11 11:46   ` Masami Hiramatsu
  2023-08-10 14:19 ` [PATCH 15/17] arch: fix asm-offsets.c building with -Wmissing-prototypes Arnd Bergmann
                   ` (5 subsequent siblings)
  19 siblings, 1 reply; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Naveen N. Rao, Anil S Keshavamurthy,
	Masami Hiramatsu
  Cc: Arnd Bergmann, Vineet Gupta, Russell King, Catalin Marinas,
	Will Deacon, Thomas Bogendoerfer, Michael Ellerman,
	Nicholas Piggin, Christophe Leroy, Heiko Carstens, Vasily Gorbik,
	Alexander Gordeev, Christian Borntraeger, Sven Schnelle,
	Yoshinori Sato, Rich Felker, John Paul Adrian Glaubitz,
	David S. Miller, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	Dave Hansen, x86, H. Peter Anvin, Gaosheng Cui,
	Steven Rostedt (Google),
	Yang Jihong, Jiri Olsa, Alexei Starovoitov, linux-snps-arc,
	linux-arm-kernel, linux-ia64, linux-mips, linuxppc-dev,
	linux-s390, linux-sh, sparclinux, linux-trace-kernel

From: Arnd Bergmann <arnd@arndb.de>

Most architectures that support kprobes declare this function in their
own asm/kprobes.h header and provide an override, but some are missing
the prototype, which causes a warning for the __weak stub implementation:

kernel/kprobes.c:1865:12: error: no previous prototype for 'kprobe_exceptions_notify' [-Werror=missing-prototypes]
 1865 | int __weak kprobe_exceptions_notify(struct notifier_block *self,

Move the prototype into linux/kprobes.h so it is visible to all
the definitions.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arc/include/asm/kprobes.h     | 3 ---
 arch/arm/include/asm/kprobes.h     | 2 --
 arch/arm64/include/asm/kprobes.h   | 2 --
 arch/ia64/include/asm/kprobes.h    | 2 --
 arch/mips/include/asm/kprobes.h    | 2 --
 arch/powerpc/include/asm/kprobes.h | 2 --
 arch/s390/include/asm/kprobes.h    | 2 --
 arch/sh/include/asm/kprobes.h      | 2 --
 arch/sparc/include/asm/kprobes.h   | 2 --
 arch/x86/include/asm/kprobes.h     | 2 --
 include/linux/kprobes.h            | 4 ++++
 11 files changed, 4 insertions(+), 21 deletions(-)

diff --git a/arch/arc/include/asm/kprobes.h b/arch/arc/include/asm/kprobes.h
index de1566e32cb89..68e8301c0df2c 100644
--- a/arch/arc/include/asm/kprobes.h
+++ b/arch/arc/include/asm/kprobes.h
@@ -32,9 +32,6 @@ struct kprobe;
 
 void arch_remove_kprobe(struct kprobe *p);
 
-int kprobe_exceptions_notify(struct notifier_block *self,
-			     unsigned long val, void *data);
-
 struct prev_kprobe {
 	struct kprobe *kp;
 	unsigned long status;
diff --git a/arch/arm/include/asm/kprobes.h b/arch/arm/include/asm/kprobes.h
index e26a278d301ab..5b8dbf1b0be49 100644
--- a/arch/arm/include/asm/kprobes.h
+++ b/arch/arm/include/asm/kprobes.h
@@ -40,8 +40,6 @@ struct kprobe_ctlblk {
 
 void arch_remove_kprobe(struct kprobe *);
 int kprobe_fault_handler(struct pt_regs *regs, unsigned int fsr);
-int kprobe_exceptions_notify(struct notifier_block *self,
-			     unsigned long val, void *data);
 
 /* optinsn template addresses */
 extern __visible kprobe_opcode_t optprobe_template_entry[];
diff --git a/arch/arm64/include/asm/kprobes.h b/arch/arm64/include/asm/kprobes.h
index 05cd82eeca136..be7a3680dadff 100644
--- a/arch/arm64/include/asm/kprobes.h
+++ b/arch/arm64/include/asm/kprobes.h
@@ -37,8 +37,6 @@ struct kprobe_ctlblk {
 
 void arch_remove_kprobe(struct kprobe *);
 int kprobe_fault_handler(struct pt_regs *regs, unsigned int fsr);
-int kprobe_exceptions_notify(struct notifier_block *self,
-			     unsigned long val, void *data);
 void __kretprobe_trampoline(void);
 void __kprobes *trampoline_probe_handler(struct pt_regs *regs);
 
diff --git a/arch/ia64/include/asm/kprobes.h b/arch/ia64/include/asm/kprobes.h
index 9e956768946cc..56004f97df6d2 100644
--- a/arch/ia64/include/asm/kprobes.h
+++ b/arch/ia64/include/asm/kprobes.h
@@ -107,8 +107,6 @@ struct arch_specific_insn {
 };
 
 extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
-extern int kprobe_exceptions_notify(struct notifier_block *self,
-				    unsigned long val, void *data);
 
 extern void arch_remove_kprobe(struct kprobe *p);
 
diff --git a/arch/mips/include/asm/kprobes.h b/arch/mips/include/asm/kprobes.h
index 68b1e5d458cfb..bc27d99c94363 100644
--- a/arch/mips/include/asm/kprobes.h
+++ b/arch/mips/include/asm/kprobes.h
@@ -71,8 +71,6 @@ struct kprobe_ctlblk {
 	struct prev_kprobe prev_kprobe;
 };
 
-extern int kprobe_exceptions_notify(struct notifier_block *self,
-				    unsigned long val, void *data);
 
 #endif /* CONFIG_KPROBES */
 #endif /* _ASM_KPROBES_H */
diff --git a/arch/powerpc/include/asm/kprobes.h b/arch/powerpc/include/asm/kprobes.h
index c8e4b4fd4e330..4525a9c68260d 100644
--- a/arch/powerpc/include/asm/kprobes.h
+++ b/arch/powerpc/include/asm/kprobes.h
@@ -84,8 +84,6 @@ struct arch_optimized_insn {
 	kprobe_opcode_t *insn;
 };
 
-extern int kprobe_exceptions_notify(struct notifier_block *self,
-					unsigned long val, void *data);
 extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
 extern int kprobe_handler(struct pt_regs *regs);
 extern int kprobe_post_handler(struct pt_regs *regs);
diff --git a/arch/s390/include/asm/kprobes.h b/arch/s390/include/asm/kprobes.h
index 83f732ca3af4d..3f87125dd9b0d 100644
--- a/arch/s390/include/asm/kprobes.h
+++ b/arch/s390/include/asm/kprobes.h
@@ -72,8 +72,6 @@ struct kprobe_ctlblk {
 void arch_remove_kprobe(struct kprobe *p);
 
 int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
-int kprobe_exceptions_notify(struct notifier_block *self,
-	unsigned long val, void *data);
 
 #define flush_insn_slot(p)	do { } while (0)
 
diff --git a/arch/sh/include/asm/kprobes.h b/arch/sh/include/asm/kprobes.h
index eeba83e0a7d29..65d4c3316a5bd 100644
--- a/arch/sh/include/asm/kprobes.h
+++ b/arch/sh/include/asm/kprobes.h
@@ -46,8 +46,6 @@ struct kprobe_ctlblk {
 };
 
 extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
-extern int kprobe_exceptions_notify(struct notifier_block *self,
-				    unsigned long val, void *data);
 extern int kprobe_handle_illslot(unsigned long pc);
 #else
 
diff --git a/arch/sparc/include/asm/kprobes.h b/arch/sparc/include/asm/kprobes.h
index 06c2bc767ef75..aec742cd898f2 100644
--- a/arch/sparc/include/asm/kprobes.h
+++ b/arch/sparc/include/asm/kprobes.h
@@ -47,8 +47,6 @@ struct kprobe_ctlblk {
 	struct prev_kprobe prev_kprobe;
 };
 
-int kprobe_exceptions_notify(struct notifier_block *self,
-			     unsigned long val, void *data);
 int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
 asmlinkage void __kprobes kprobe_trap(unsigned long trap_level,
 				      struct pt_regs *regs);
diff --git a/arch/x86/include/asm/kprobes.h b/arch/x86/include/asm/kprobes.h
index a2e9317aad495..5939694dfb28d 100644
--- a/arch/x86/include/asm/kprobes.h
+++ b/arch/x86/include/asm/kprobes.h
@@ -113,8 +113,6 @@ struct kprobe_ctlblk {
 };
 
 extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
-extern int kprobe_exceptions_notify(struct notifier_block *self,
-				    unsigned long val, void *data);
 extern int kprobe_int3_handler(struct pt_regs *regs);
 
 #else
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
index 85a64cb95d755..987911cdc90a2 100644
--- a/include/linux/kprobes.h
+++ b/include/linux/kprobes.h
@@ -450,6 +450,10 @@ int kprobe_get_kallsym(unsigned int symnum, unsigned long *value, char *type,
 
 int arch_kprobe_get_kallsym(unsigned int *symnum, unsigned long *value,
 			    char *type, char *sym);
+
+int kprobe_exceptions_notify(struct notifier_block *self,
+			     unsigned long val, void *data);
+
 #else /* !CONFIG_KPROBES: */
 
 static inline int kprobe_fault_handler(struct pt_regs *regs, int trapnr)
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 15/17] arch: fix asm-offsets.c building with -Wmissing-prototypes
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (13 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 14/17] kprobes: unify kprobes_exceptions_nofify() prototypes Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-11 22:12   ` Masahiro Yamada
  2023-08-10 14:19 ` [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally Arnd Bergmann
                   ` (4 subsequent siblings)
  19 siblings, 1 reply; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel
  Cc: Arnd Bergmann, Richard Henderson, Ivan Kokshaysky, Matt Turner,
	Huacai Chen, WANG Xuerui, David S. Miller, Al Viro,
	Steven Rostedt (Google),
	Qing Zhang, Donglin Peng, Qi Hu, linux-alpha, linux-ia64,
	loongarch, sparclinux

From: Arnd Bergmann <arnd@arndb.de>

When -Wmissing-prototypes is enabled, the some asm-offsets.c files fail
to build, even when this warning is disabled in the Makefile for normal
files:

arch/sparc/kernel/asm-offsets.c:22:5: error: no previous prototype for 'sparc32_foo' [-Werror=missing-prototypes]
arch/sparc/kernel/asm-offsets.c:48:5: error: no previous prototype for 'foo' [-Werror=missing-prototypes]

Address this by making use of the same trick we have on other architectures,
renaming the unused global function to main(), which has an implicit
prototype.

On loongarch, there are many functions in this file, so the trick does
not work, adding explicit declarations works around it in a slightly
more ugly way but is the best I could come up with here.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/alpha/kernel/asm-offsets.c     |  2 +-
 arch/ia64/kernel/asm-offsets.c      |  2 +-
 arch/loongarch/kernel/asm-offsets.c | 12 ++++++++++++
 arch/sparc/kernel/asm-offsets.c     | 13 ++-----------
 4 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/arch/alpha/kernel/asm-offsets.c b/arch/alpha/kernel/asm-offsets.c
index b121294bee266..b87487e70488d 100644
--- a/arch/alpha/kernel/asm-offsets.c
+++ b/arch/alpha/kernel/asm-offsets.c
@@ -12,7 +12,7 @@
 #include <linux/kbuild.h>
 #include <asm/io.h>
 
-void foo(void)
+int main(void)
 {
 	DEFINE(TI_TASK, offsetof(struct thread_info, task));
 	DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
diff --git a/arch/ia64/kernel/asm-offsets.c b/arch/ia64/kernel/asm-offsets.c
index be3b90fef2e92..62b9aaf10b3c0 100644
--- a/arch/ia64/kernel/asm-offsets.c
+++ b/arch/ia64/kernel/asm-offsets.c
@@ -20,7 +20,7 @@
 #include "../kernel/sigframe.h"
 #include "../kernel/fsyscall_gtod_data.h"
 
-void foo(void)
+int main(void)
 {
 	DEFINE(IA64_TASK_SIZE, sizeof (struct task_struct));
 	DEFINE(IA64_THREAD_INFO_SIZE, sizeof (struct thread_info));
diff --git a/arch/loongarch/kernel/asm-offsets.c b/arch/loongarch/kernel/asm-offsets.c
index 8da0726777edb..735115f8341c9 100644
--- a/arch/loongarch/kernel/asm-offsets.c
+++ b/arch/loongarch/kernel/asm-offsets.c
@@ -14,6 +14,7 @@
 #include <asm/processor.h>
 #include <asm/ftrace.h>
 
+void output_ptreg_defines(void);
 void output_ptreg_defines(void)
 {
 	COMMENT("LoongArch pt_regs offsets.");
@@ -61,6 +62,7 @@ void output_ptreg_defines(void)
 	BLANK();
 }
 
+void output_task_defines(void);
 void output_task_defines(void)
 {
 	COMMENT("LoongArch task_struct offsets.");
@@ -76,6 +78,7 @@ void output_task_defines(void)
 	BLANK();
 }
 
+void output_thread_info_defines(void);
 void output_thread_info_defines(void)
 {
 	COMMENT("LoongArch thread_info offsets.");
@@ -92,6 +95,7 @@ void output_thread_info_defines(void)
 	BLANK();
 }
 
+void output_thread_defines(void);
 void output_thread_defines(void)
 {
 	COMMENT("LoongArch specific thread_struct offsets.");
@@ -128,6 +132,7 @@ void output_thread_defines(void)
 	BLANK();
 }
 
+void output_thread_fpu_defines(void);
 void output_thread_fpu_defines(void)
 {
 	OFFSET(THREAD_FPR0, loongarch_fpu, fpr[0]);
@@ -169,6 +174,7 @@ void output_thread_fpu_defines(void)
 	BLANK();
 }
 
+void output_thread_lbt_defines(void);
 void output_thread_lbt_defines(void)
 {
 	OFFSET(THREAD_SCR0,  loongarch_lbt, scr0);
@@ -179,6 +185,7 @@ void output_thread_lbt_defines(void)
 	BLANK();
 }
 
+void output_mm_defines(void);
 void output_mm_defines(void)
 {
 	COMMENT("Size of struct page");
@@ -211,6 +218,7 @@ void output_mm_defines(void)
 	BLANK();
 }
 
+void output_sc_defines(void);
 void output_sc_defines(void)
 {
 	COMMENT("Linux sigcontext offsets.");
@@ -219,6 +227,7 @@ void output_sc_defines(void)
 	BLANK();
 }
 
+void output_signal_defines(void);
 void output_signal_defines(void)
 {
 	COMMENT("Linux signal numbers.");
@@ -257,6 +266,7 @@ void output_signal_defines(void)
 }
 
 #ifdef CONFIG_SMP
+void output_smpboot_defines(void);
 void output_smpboot_defines(void)
 {
 	COMMENT("Linux smp cpu boot offsets.");
@@ -267,6 +277,7 @@ void output_smpboot_defines(void)
 #endif
 
 #ifdef CONFIG_HIBERNATION
+void output_pbe_defines(void);
 void output_pbe_defines(void)
 {
 	COMMENT("Linux struct pbe offsets.");
@@ -279,6 +290,7 @@ void output_pbe_defines(void)
 #endif
 
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
+void output_fgraph_ret_regs_defines(void);
 void output_fgraph_ret_regs_defines(void)
 {
 	COMMENT("LoongArch fgraph_ret_regs offsets.");
diff --git a/arch/sparc/kernel/asm-offsets.c b/arch/sparc/kernel/asm-offsets.c
index 5784f2df489a4..4c8c9a6df2aa5 100644
--- a/arch/sparc/kernel/asm-offsets.c
+++ b/arch/sparc/kernel/asm-offsets.c
@@ -18,16 +18,12 @@
 
 #include <asm/hibernate.h>
 
-#ifdef CONFIG_SPARC32
-int sparc32_foo(void)
+int main(void)
 {
+#ifdef CONFIG_SPARC32
 	DEFINE(AOFF_thread_fork_kpsr,
 			offsetof(struct thread_struct, fork_kpsr));
-	return 0;
-}
 #else
-int sparc64_foo(void)
-{
 #ifdef CONFIG_HIBERNATION
 	BLANK();
 	OFFSET(SC_REG_FP, saved_context, fp);
@@ -41,12 +37,7 @@ int sparc64_foo(void)
 	OFFSET(SC_REG_G5, saved_context, g5);
 	OFFSET(SC_REG_G6, saved_context, g6);
 #endif
-	return 0;
-}
 #endif
-
-int foo(void)
-{
 	BLANK();
 	DEFINE(AOFF_task_thread, offsetof(struct task_struct, thread));
 	BLANK();
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (14 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 15/17] arch: fix asm-offsets.c building with -Wmissing-prototypes Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 14:59   ` Christophe Leroy
                     ` (2 more replies)
  2023-08-10 14:19 ` [PATCH 17/17] [RFC] Makefile.extrawarn: turn on missing-prototypes again Arnd Bergmann
                   ` (3 subsequent siblings)
  19 siblings, 3 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel
  Cc: Arnd Bergmann, Matt Turner, Vineet Gupta, Russell King,
	Catalin Marinas, Will Deacon, Guo Ren, Brian Cain, Huacai Chen,
	WANG Xuerui, Geert Uytterhoeven, Michal Simek,
	Thomas Bogendoerfer, Dinh Nguyen, Jonas Bonn, Stafford Horne,
	James E.J. Bottomley, Helge Deller, Michael Ellerman,
	Christophe Leroy, Palmer Dabbelt, Heiko Carstens,
	John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Nathan Chancellor, Nick Desaulniers, Guenter Roeck,
	Stephen Rothwell, linux-next, linux-alpha, linux-snps-arc,
	linux-arm-kernel, linux-csky, linux-hexagon, linux-ia64,
	loongarch, linux-m68k, linux-mips, linux-openrisc, sparclinux,
	Richard Henderson, Ivan Kokshaysky, Stefan Kristiansson,
	Yoshinori Sato, Rich Felker, David S. Miller, Chris Zankel,
	Max Filippov, Christian Brauner, Paul Walmsley, Albert Ou,
	Youling Tang, Tiezhu Yang, Masahiro Yamada, Randy Dunlap,
	Masami Hiramatsu (Google),
	Paul E. McKenney, Miguel Ojeda, Zhen Lei, Xin Li, Nhat Pham,
	Greg Kroah-Hartman, Marc Aurèle La France, Johannes Weiner,
	linux-parisc, linux-sh, linux-riscv

From: Arnd Bergmann <arnd@arndb.de>

I have cleaned up the -Wmissing-prototypes warnings for most of the major architectures
as well as all drivers that get enabled for CONFIG_COMPILE_TEST, so now these should be
close to fixed on x86, arm, arm64, powerpc, s390, and riscv.

The other architectures tend to have a lot of these warning in architecture specific
code, primarily from functions that are only called from assembler code and do
not otherwise need a declaration but still cause a warning without one. Other cases
are simply functions that should just be static or are missing an #include statement.

In order to be able to turn the warning on globally by default without breaking all
these architectures, add a list of exceptions for architecture directories that
can revert back to the old behavior of not warning based on a new
CONFIG_WNO_MISSING_PROTOTYPES option.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
Below is the full list of warnings I see in defconfig builds for reference, these
do not need to be part of the changelog.

arch/alpha/include/asm/core_t2.h:465:20: error: no previous prototype for 't2_readb' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:476:21: error: no previous prototype for 't2_readw' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:491:21: error: no previous prototype for 't2_readl' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:502:21: error: no previous prototype for 't2_readq' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:515:22: error: no previous prototype for 't2_writeb' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:526:22: error: no previous prototype for 't2_writew' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:541:22: error: no previous prototype for 't2_writel' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:550:22: error: no previous prototype for 't2_writeq' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:562:31: error: no previous prototype for 't2_ioportmap' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:567:31: error: no previous prototype for 't2_ioremap' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:573:21: error: no previous prototype for 't2_is_ioaddr' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:578:21: error: no previous prototype for 't2_is_mmio' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread16' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread32' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread64' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread8' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite16' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite32' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite64' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite8' [-Werror=missing-prototypes]
arch/alpha/include/asm/core_t2.h:614:33: error: no previous prototype for 't2_iounmap' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:115:30: error: no previous prototype for 'jensen_local_inb' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:120:22: error: no previous prototype for 'jensen_local_outb' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:126:30: error: no previous prototype for 'jensen_bus_inb' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:135:22: error: no previous prototype for 'jensen_bus_outb' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:155:20: error: no previous prototype for 'jensen_inb' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:163:22: error: no previous prototype for 'jensen_outb' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:171:21: error: no previous prototype for 'jensen_inw' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:181:21: error: no previous prototype for 'jensen_inl' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:187:21: error: no previous prototype for 'jensen_inq' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:193:22: error: no previous prototype for 'jensen_outw' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:200:22: error: no previous prototype for 'jensen_outl' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:207:22: error: no previous prototype for 'jensen_outq' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:218:20: error: no previous prototype for 'jensen_readb' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:230:21: error: no previous prototype for 'jensen_readw' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:242:21: error: no previous prototype for 'jensen_readl' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:250:21: error: no previous prototype for 'jensen_readq' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:263:22: error: no previous prototype for 'jensen_writeb' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:271:22: error: no previous prototype for 'jensen_writew' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:279:22: error: no previous prototype for 'jensen_writel' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:287:22: error: no previous prototype for 'jensen_writeq' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:297:31: error: no previous prototype for 'jensen_ioportmap' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:302:31: error: no previous prototype for 'jensen_ioremap' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:308:21: error: no previous prototype for 'jensen_is_ioaddr' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:313:21: error: no previous prototype for 'jensen_is_mmio' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread16' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread32' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread64' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread8' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite16' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite32' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite64' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite8' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:348:33: error: no previous prototype for 'jensen_iounmap' [-Werror=missing-prototypes]
arch/alpha/include/asm/jensen.h:92:22: error: no previous prototype for 'jensen_set_hae' [-Werror=missing-prototypes]
arch/alpha/kernel/bugs.c:19:9: error: no previous prototype for 'cpu_show_meltdown' [-Werror=missing-prototypes]
arch/alpha/kernel/bugs.c:28:9: error: no previous prototype for 'cpu_show_spectre_v1' [-Werror=missing-prototypes]
arch/alpha/kernel/bugs.c:37:9: error: no previous prototype for 'cpu_show_spectre_v2' [-Werror=missing-prototypes]
arch/alpha/kernel/console.c:39:1: error: no previous prototype for 'locate_and_init_vga' [-Werror=missing-prototypes]
arch/alpha/kernel/console.c:72:1: error: no previous prototype for 'find_console_vga_hose' [-Werror=missing-prototypes]
arch/alpha/kernel/core_cia.c:284:1: error: no previous prototype for 'cia_pci_tbi_try2' [-Werror=missing-prototypes]
arch/alpha/kernel/core_cia.c:580:1: error: no previous prototype for 'cia_save_srm_settings' [-Werror=missing-prototypes]
arch/alpha/kernel/core_cia.c:606:1: error: no previous prototype for 'cia_restore_srm_settings' [-Werror=missing-prototypes]
arch/alpha/kernel/core_lca.c:481:1: error: no previous prototype for 'lca_clock_print' [-Werror=missing-prototypes]
arch/alpha/kernel/core_lca.c:498:1: error: no previous prototype for 'lca_get_clock' [-Werror=missing-prototypes]
arch/alpha/kernel/core_lca.c:508:1: error: no previous prototype for 'lca_clock_fiddle' [-Werror=missing-prototypes]
arch/alpha/kernel/io.c:654:1: error: no previous prototype for 'scr_memcpyw' [-Werror=missing-prototypes]
arch/alpha/kernel/irq.c:96:1: error: no previous prototype for 'handle_irq' [-Werror=missing-prototypes]
arch/alpha/kernel/irq_alpha.c:45:1: error: no previous prototype for 'do_entInt' [-Werror=missing-prototypes]
arch/alpha/kernel/pci.c:285:1: error: no previous prototype for 'pcibios_claim_one_bus' [-Werror=missing-prototypes]
arch/alpha/kernel/ptrace.c:322:26: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
arch/alpha/kernel/ptrace.c:334:1: error: no previous prototype for 'syscall_trace_leave' [-Werror=missing-prototypes]
arch/alpha/kernel/signal.c:205:1: error: no previous prototype for 'do_sigreturn' [-Werror=missing-prototypes]
arch/alpha/kernel/signal.c:233:1: error: no previous prototype for 'do_rt_sigreturn' [-Werror=missing-prototypes]
arch/alpha/kernel/signal.c:523:1: error: no previous prototype for 'do_work_pending' [-Werror=missing-prototypes]
arch/alpha/kernel/smc37c669.c:2434:1: error: no previous prototype for 'SMC37c669_dump_registers' [-Werror=missing-prototypes]
arch/alpha/kernel/smc37c669.c:2467:13: error: no previous prototype for 'SMC669_Init' [-Werror=missing-prototypes]
arch/alpha/kernel/smc37c93x.c:238:12: error: no previous prototype for 'SMC93x_Init' [-Werror=missing-prototypes]
arch/alpha/kernel/srmcons.c:272:1: error: no previous prototype for 'register_srm_console' [-Werror=missing-prototypes]
arch/alpha/kernel/srmcons.c:282:1: error: no previous prototype for 'unregister_srm_console' [-Werror=missing-prototypes]
arch/alpha/kernel/sys_nautilus.c:131:1: error: no previous prototype for 'nautilus_machine_check' [-Werror=missing-prototypes]
arch/alpha/kernel/sys_nautilus.c:201:1: error: no previous prototype for 'nautilus_init_pci' [-Werror=missing-prototypes]
arch/alpha/kernel/sys_nautilus.c:82:1: error: no previous prototype for 'nautilus_kill_arch' [-Werror=missing-prototypes]
arch/alpha/kernel/sys_sio.c:312:1: error: no previous prototype for 'sio_kill_arch' [-Werror=missing-prototypes]
arch/alpha/kernel/traps.c:210:1: error: no previous prototype for 'do_entArith' [-Werror=missing-prototypes]
arch/alpha/kernel/traps.c:232:1: error: no previous prototype for 'do_entIF' [-Werror=missing-prototypes]
arch/alpha/kernel/traps.c:399:1: error: no previous prototype for 'do_entDbg' [-Werror=missing-prototypes]
arch/alpha/kernel/traps.c:435:1: error: no previous prototype for 'do_entUna' [-Werror=missing-prototypes]
arch/alpha/kernel/traps.c:720:1: error: no previous prototype for 'do_entUnaUser' [-Werror=missing-prototypes]
arch/alpha/kernel/traps.c:975:1: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
arch/alpha/lib/checksum.c:145:9: error: no previous prototype for 'ip_fast_csum' [-Werror=missing-prototypes]
arch/alpha/lib/checksum.c:163:8: error: no previous prototype for 'csum_partial' [-Werror=missing-prototypes]
arch/alpha/lib/checksum.c:180:9: error: no previous prototype for 'ip_compute_csum' [-Werror=missing-prototypes]
arch/alpha/lib/checksum.c:45:9: error: no previous prototype for 'csum_tcpudp_magic' [-Werror=missing-prototypes]
arch/alpha/lib/checksum.c:54:8: error: no previous prototype for 'csum_tcpudp_nofold' [-Werror=missing-prototypes]
arch/alpha/lib/fpreg.c:129:1: error: no previous prototype for 'alpha_read_fp_reg_s' [-Werror=missing-prototypes]
arch/alpha/lib/fpreg.c:186:1: error: no previous prototype for 'alpha_write_fp_reg_s' [-Werror=missing-prototypes]
arch/alpha/lib/fpreg.c:20:1: error: no previous prototype for 'alpha_read_fp_reg' [-Werror=missing-prototypes]
arch/alpha/lib/fpreg.c:75:1: error: no previous prototype for 'alpha_write_fp_reg' [-Werror=missing-prototypes]
arch/alpha/lib/memcpy.c:153:8: error: no previous prototype for 'memcpy' [-Werror=missing-prototypes]
arch/alpha/mm/fault.c:85:1: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/alpha/mm/init.c:261:1: error: no previous prototype for 'srm_paging_stop' [-Werror=missing-prototypes]
arch/arc/kernel/ctx_sw.c:21:1: error: no previous prototype for '__switch_to' [-Werror=missing-prototypes]
arch/arc/kernel/devtree.c:20:21: error: no previous prototype for 'arc_early_base_baud' [-Werror=missing-prototypes]
arch/arc/kernel/irq.c:42:6: error: no previous prototype for 'arch_do_IRQ' [-Werror=missing-prototypes]
arch/arc/kernel/kprobes.c:193:15: error: no previous prototype for 'arc_kprobe_handler' [-Werror=missing-prototypes]
arch/arc/kernel/ptrace.c:344:16: error: no previous prototype for 'syscall_trace_entry' [-Werror=missing-prototypes]
arch/arc/kernel/ptrace.c:358:17: error: no previous prototype for 'syscall_trace_exit' [-Werror=missing-prototypes]
arch/arc/kernel/setup.c:498:13: error: no previous prototype for 'handle_uboot_args' [-Werror=missing-prototypes]
arch/arc/kernel/signal.c:401:6: error: no previous prototype for 'do_signal' [-Werror=missing-prototypes]
arch/arc/kernel/signal.c:434:6: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
arch/arc/kernel/stacktrace.c:116:1: error: no previous prototype for 'arc_unwind_core' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:110:6: error: no previous prototype for 'do_non_swi_trap' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:141:6: error: no previous prototype for 'do_insterror_or_kprobe' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:68:48: error: no previous prototype for 'do_privilege_fault' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:69:44: error: no previous prototype for 'do_extension_fault' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:70:48: error: no previous prototype for 'insterror_is_error' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:71:52: error: no previous prototype for 'do_memory_error' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:72:42: error: no previous prototype for 'trap_is_brkpt' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:73:44: error: no previous prototype for 'do_misaligned_error' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:74:56: error: no previous prototype for 'do_trap5_error' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:79:5: error: no previous prototype for 'do_misaligned_access' [-Werror=missing-prototypes]
arch/arc/kernel/traps.c:93:6: error: no previous prototype for 'do_machine_check_fault' [-Werror=missing-prototypes]
arch/arc/mm/cache.c:1085:22: error: no previous prototype for 'arc_ioc_setup' [-Werror=missing-prototypes]
arch/arc/mm/cache.c:1147:13: error: no previous prototype for 'arc_cache_init_master' [-Werror=missing-prototypes]
arch/arc/mm/cache.c:584:15: error: no previous prototype for 'slc_op_rgn' [-Werror=missing-prototypes]
arch/arc/mm/cache.c:647:15: error: no previous prototype for 'slc_op_line' [-Werror=missing-prototypes]
arch/arc/mm/fault.c:72:6: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/arc/mm/init.c:35:13: error: no previous prototype for 'arc_get_mem_sz' [-Werror=missing-prototypes]
arch/arc/mm/init.c:83:13: error: no previous prototype for 'setup_arch_memory' [-Werror=missing-prototypes]
arch/arc/mm/tlb.c:392:6: error: no previous prototype for 'create_tlb' [-Werror=missing-prototypes]
arch/arc/mm/tlb.c:723:6: error: no previous prototype for 'do_tlb_overlap_fault' [-Werror=missing-prototypes]
arch/csky/kernel/ptrace.c:320:16: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
arch/csky/kernel/ptrace.c:336:17: error: no previous prototype for 'syscall_trace_exit' [-Werror=missing-prototypes]
arch/csky/kernel/setup.c:116:34: error: no previous prototype for 'csky_start' [-Werror=missing-prototypes]
arch/csky/kernel/signal.c:255:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:150:15: error: no previous prototype for 'do_trap_unknown' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:152:15: error: no previous prototype for 'do_trap_zdiv' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:154:15: error: no previous prototype for 'do_trap_buserr' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:157:17: error: no previous prototype for 'do_trap_misaligned' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:168:17: error: no previous prototype for 'do_trap_bkpt' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:187:17: error: no previous prototype for 'do_trap_illinsn' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:210:17: error: no previous prototype for 'do_trap_fpe' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:220:17: error: no previous prototype for 'do_trap_priv' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:230:17: error: no previous prototype for 'trap_c' [-Werror=missing-prototypes]
arch/csky/kernel/traps.c:57:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
arch/csky/kernel/vdso/vgettimeofday.c:12:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
arch/csky/kernel/vdso/vgettimeofday.c:18:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
arch/csky/kernel/vdso/vgettimeofday.c:24:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
arch/csky/kernel/vdso/vgettimeofday.c:6:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
arch/csky/mm/fault.c:187:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/ia64/kernel/acpi.c:715:5: error: no previous prototype for 'acpi_map_cpu2node' [-Werror=missing-prototypes]
arch/ia64/kernel/cyclone.c:18:13: error: no previous prototype for 'cyclone_setup' [-Werror=missing-prototypes]
arch/ia64/kernel/cyclone.c:38:12: error: no previous prototype for 'init_cyclone_clock' [-Werror=missing-prototypes]
arch/ia64/kernel/efi.c:971:1: error: no previous prototype for 'find_memmap_space' [-Werror=missing-prototypes]
arch/ia64/kernel/elfcore.c:10:12: error: no previous prototype for 'elf_core_extra_phdrs' [-Werror=missing-prototypes]
arch/ia64/kernel/elfcore.c:15:5: error: no previous prototype for 'elf_core_write_extra_phdrs' [-Werror=missing-prototypes]
arch/ia64/kernel/elfcore.c:44:5: error: no previous prototype for 'elf_core_write_extra_data' [-Werror=missing-prototypes]
arch/ia64/kernel/elfcore.c:63:8: error: no previous prototype for 'elf_core_extra_data_size' [-Werror=missing-prototypes]
arch/ia64/kernel/iosapic.c:265:1: error: no previous prototype for 'kexec_disable_iosapic' [-Werror=missing-prototypes]
arch/ia64/kernel/irq.c:128:6: error: no previous prototype for 'fixup_irqs' [-Werror=missing-prototypes]
arch/ia64/kernel/irq_ia64.c:429:1: error: no previous prototype for 'ia64_handle_irq' [-Werror=missing-prototypes]
arch/ia64/kernel/irq_ia64.c:512:6: error: no previous prototype for 'ia64_process_pending_intr' [-Werror=missing-prototypes]
arch/ia64/kernel/irq_ia64.c:587:1: error: no previous prototype for 'register_percpu_irq' [-Werror=missing-prototypes]
arch/ia64/kernel/mca.c:1284:1: error: no previous prototype for 'ia64_mca_handler' [-Werror=missing-prototypes]
arch/ia64/kernel/mca.c:504:1: error: no previous prototype for 'search_mca_table' [-Werror=missing-prototypes]
arch/ia64/kernel/mca.c:607:1: error: no previous prototype for 'ia64_mca_register_cpev' [-Werror=missing-prototypes]
arch/ia64/kernel/mca_drv.c:156:1: error: no previous prototype for 'mca_handler_bh' [-Werror=missing-prototypes]
arch/ia64/kernel/mca_drv.c:768:12: error: no previous prototype for 'mca_external_handler_init' [-Werror=missing-prototypes]
arch/ia64/kernel/mca_drv.c:782:13: error: no previous prototype for 'mca_external_handler_exit' [-Werror=missing-prototypes]
arch/ia64/kernel/module.c:245:1: error: no previous prototype for 'plt_target' [-Werror=missing-prototypes]
arch/ia64/kernel/process.c:156:1: error: no previous prototype for 'console_print' [-Werror=missing-prototypes]
arch/ia64/kernel/process.c:162:1: error: no previous prototype for 'do_notify_resume_user' [-Werror=missing-prototypes]
arch/ia64/kernel/process.c:405:17: error: no previous prototype for 'ia64_clone' [-Werror=missing-prototypes]
arch/ia64/kernel/process.c:559:1: error: no previous prototype for 'cpu_halt' [-Werror=missing-prototypes]
arch/ia64/kernel/ptrace.c:1158:1: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
arch/ia64/kernel/ptrace.c:1179:1: error: no previous prototype for 'syscall_trace_leave' [-Werror=missing-prototypes]
arch/ia64/kernel/ptrace.c:1994:6: error: no previous prototype for 'syscall_get_arguments' [-Werror=missing-prototypes]
arch/ia64/kernel/sal.c:43:29: error: cast between incompatible function types from 'long int (*)(void)' to 'struct ia64_sal_retval (*)(u64, ...)' {aka 'struct ia64_sal_retval (*)(long long unsigned int, ...)'} [-Werror=cast-function-type]
arch/ia64/kernel/salinfo.c:212:1: error: no previous prototype for 'salinfo_log_wakeup' [-Werror=missing-prototypes]
arch/ia64/kernel/signal.c:108:1: error: no previous prototype for 'ia64_rt_sigreturn' [-Werror=missing-prototypes]
arch/ia64/kernel/smpboot.c:190:1: error: no previous prototype for 'sync_master' [-Werror=missing-prototypes]
arch/ia64/kernel/smpboot.c:275:1: error: no previous prototype for 'ia64_sync_itc' [-Werror=missing-prototypes]
arch/ia64/kernel/smpboot.c:435:1: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
arch/ia64/kernel/smpboot.c:592:5: error: no previous prototype for 'migrate_platform_irqs' [-Werror=missing-prototypes]
arch/ia64/kernel/sys_ia64.c:161:1: error: no previous prototype for 'ia64_mremap' [-Werror=missing-prototypes]
arch/ia64/kernel/sys_ia64.c:171:1: error: no previous prototype for 'ia64_clock_getres' [-Werror=missing-prototypes]
arch/ia64/kernel/sys_ia64.c:71:1: error: no previous prototype for 'ia64_getpriority' [-Werror=missing-prototypes]
arch/ia64/kernel/sys_ia64.c:85:1: error: no previous prototype for 'sys_getpagesize' [-Werror=missing-prototypes]
arch/ia64/kernel/sys_ia64.c:91:1: error: no previous prototype for 'ia64_brk' [-Werror=missing-prototypes]
arch/ia64/kernel/time.c:260:6: error: no previous prototype for 'ia64_init_itm' [-Werror=missing-prototypes]
arch/ia64/kernel/traps.c:101:11: error: no previous prototype for 'ia64_bad_break' [-Werror=missing-prototypes]
arch/ia64/kernel/traps.c:35:1: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
arch/ia64/kernel/traps.c:387:1: error: no previous prototype for 'ia64_illegal_op_fault' [-Werror=missing-prototypes]
arch/ia64/kernel/traps.c:416:1: error: no previous prototype for 'ia64_fault' [-Werror=missing-prototypes]
arch/ia64/kernel/traps.c:43:1: error: no previous prototype for 'die' [-Werror=missing-prototypes]
arch/ia64/kernel/traps.c:93:1: error: no previous prototype for 'die_if_kernel' [-Werror=missing-prototypes]
arch/ia64/kernel/unaligned.c:1314:1: error: no previous prototype for 'ia64_handle_unaligned' [-Werror=missing-prototypes]
arch/ia64/kernel/uncached.c:177:15: error: no previous prototype for 'uncached_alloc_page' [-Werror=missing-prototypes]
arch/ia64/kernel/uncached.c:218:6: error: no previous prototype for 'uncached_free_page' [-Werror=missing-prototypes]
arch/ia64/kernel/unwind.c:1449:59: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
arch/ia64/kernel/unwind.c:2314:1: error: no previous prototype for 'sys_getunwind' [-Werror=missing-prototypes]
arch/ia64/kernel/unwind.c:862:56: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
arch/ia64/lib/checksum.c:38:1: error: no previous prototype for 'csum_tcpudp_magic' [-Werror=missing-prototypes]
arch/ia64/lib/checksum.c:49:1: error: no previous prototype for 'csum_tcpudp_nofold' [-Werror=missing-prototypes]
arch/ia64/lib/checksum.c:80:8: error: no previous prototype for 'csum_partial' [-Werror=missing-prototypes]
arch/ia64/lib/checksum.c:97:9: error: no previous prototype for 'ip_compute_csum' [-Werror=missing-prototypes]
arch/ia64/mm/discontig.c:631:6: error: no previous prototype for 'vmemmap_free' [-Werror=missing-prototypes]
arch/ia64/mm/extable.c:15:1: error: no previous prototype for 'ia64_handle_exception' [-Werror=missing-prototypes]
arch/ia64/mm/fault.c:66:1: error: no previous prototype for 'ia64_do_page_fault' [-Werror=missing-prototypes]
arch/ia64/mm/init.c:161:1: error: no previous prototype for 'free_initrd_mem' [-Werror=missing-prototypes]
arch/ia64/mm/init.c:309:6: error: no previous prototype for 'ia64_mmu_init' [-Werror=missing-prototypes]
arch/ia64/mm/tlb.c:369:6: error: no previous prototype for 'ia64_tlb_init' [-Werror=missing-prototypes]
arch/ia64/pci/pci.c:326:6: error: no previous prototype for 'pcibios_fixup_device_resources' [-Werror=missing-prototypes]
arch/loongarch/kernel/acpi.c:284:13: error: no previous prototype for 'acpi_numa_arch_fixup' [-Werror=missing-prototypes]
arch/loongarch/kernel/module-sections.c:103:5: error: no previous prototype for 'module_frob_arch_sections' [-Werror=missing-prototypes]
arch/loongarch/kernel/process.c:316:15: error: no previous prototype for 'arch_align_stack' [-Werror=missing-prototypes]
arch/loongarch/kernel/signal.c:1040:6: error: no previous prototype for 'arch_do_signal_or_restart' [-Werror=missing-prototypes]
arch/loongarch/kernel/signal.c:894:14: error: no previous prototype for 'get_sigframe' [-Werror=missing-prototypes]
arch/loongarch/kernel/signal.c:925:17: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
arch/loongarch/kernel/smp.c:501:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
arch/loongarch/kernel/smp.c:559:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
arch/loongarch/kernel/syscall.c:40:14: error: no previous prototype for 'do_syscall' [-Werror=missing-prototypes]
arch/loongarch/kernel/time.c:32:13: error: no previous prototype for 'constant_timer_interrupt' [-Werror=missing-prototypes]
arch/loongarch/kernel/topology.c:13:5: error: no previous prototype for 'arch_register_cpu' [-Werror=missing-prototypes]
arch/loongarch/kernel/topology.c:27:6: error: no previous prototype for 'arch_unregister_cpu' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:1012:25: error: no previous prototype for 'do_reserved' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:1031:17: error: no previous prototype for 'cache_parity_error' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:1040:25: error: no previous prototype for 'handle_loongarch_irq' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:1051:25: error: no previous prototype for 'do_vint' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:373:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:438:6: error: no previous prototype for 'force_fcsr_sig' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:457:5: error: no previous prototype for 'process_fpemu_return' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:492:25: error: no previous prototype for 'do_fpe' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:519:25: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:533:25: error: no previous prototype for 'do_ale' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:594:25: error: no previous prototype for 'do_bce' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:683:25: error: no previous prototype for 'do_bp' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:762:25: error: no previous prototype for 'do_watch' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:812:25: error: no previous prototype for 'do_ri' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:907:25: error: no previous prototype for 'do_fpu' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:924:25: error: no previous prototype for 'do_lsx' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:946:25: error: no previous prototype for 'do_lasx' [-Werror=missing-prototypes]
arch/loongarch/kernel/traps.c:981:25: error: no previous prototype for 'do_lbt' [-Werror=missing-prototypes]
arch/loongarch/mm/fault.c:256:27: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/loongarch/mm/hugetlbpage.c:56:5: error: no previous prototype for 'is_aligned_hugepage_range' [-Werror=missing-prototypes]
arch/loongarch/mm/ioremap.c:18:7: error: no previous prototype for 'early_memremap_ro' [-Werror=missing-prototypes]
arch/loongarch/mm/ioremap.c:23:7: error: no previous prototype for 'early_memremap_prot' [-Werror=missing-prototypes]
arch/loongarch/mm/tlb.c:264:6: error: no previous prototype for 'setup_tlb_handler' [-Werror=missing-prototypes]
arch/m68k/amiga/amisound.c:48:13: error: no previous prototype for 'amiga_init_sound' [-Werror=missing-prototypes]
arch/m68k/amiga/amisound.c:71:6: error: no previous prototype for 'amiga_mksound' [-Werror=missing-prototypes]
arch/m68k/apollo/config.c:111:5: error: no previous prototype for 'dn_serial_console_wait_key' [-Werror=missing-prototypes]
arch/m68k/apollo/config.c:118:6: error: no previous prototype for 'dn_serial_console_write' [-Werror=missing-prototypes]
arch/m68k/apollo/config.c:132:6: error: no previous prototype for 'dn_serial_print' [-Werror=missing-prototypes]
arch/m68k/apollo/config.c:240:6: error: no previous prototype for 'dn_dummy_waitbut' [-Werror=missing-prototypes]
arch/m68k/apollo/dn_ints.c:19:6: error: no previous prototype for 'apollo_irq_shutdown' [-Werror=missing-prototypes]
arch/m68k/apollo/dn_ints.c:29:6: error: no previous prototype for 'apollo_irq_eoi' [-Werror=missing-prototypes]
arch/m68k/apollo/dn_ints.c:43:13: error: no previous prototype for 'dn_init_IRQ' [-Werror=missing-prototypes]
arch/m68k/apollo/dn_ints.c:8:14: error: no previous prototype for 'apollo_irq_startup' [-Werror=missing-prototypes]
arch/m68k/atari/ataints.c:267:13: error: no previous prototype for 'atari_init_IRQ' [-Werror=missing-prototypes]
arch/m68k/atari/atakeyb.c:335:6: error: no previous prototype for 'ikbd_reset' [-Werror=missing-prototypes]
arch/m68k/atari/atasound.c:36:6: error: no previous prototype for 'atari_microwire_cmd' [-Werror=missing-prototypes]
arch/m68k/atari/atasound.c:53:6: error: no previous prototype for 'atari_mksound' [-Werror=missing-prototypes]
arch/m68k/atari/config.c:883:12: error: no previous prototype for 'atari_platform_init' [-Werror=missing-prototypes]
arch/m68k/atari/stram.c:118:12: error: no previous prototype for 'atari_stram_map_pages' [-Werror=missing-prototypes]
arch/m68k/atari/time.c:140:5: error: no previous prototype for 'atari_mste_hwclk' [-Werror=missing-prototypes]
arch/m68k/atari/time.c:199:5: error: no previous prototype for 'atari_tt_hwclk' [-Werror=missing-prototypes]
arch/m68k/atari/time.c:59:1: error: no previous prototype for 'atari_sched_init' [-Werror=missing-prototypes]
arch/m68k/bvme6000/config.c:133:13: error: no previous prototype for 'bvme6000_abort_int' [-Werror=missing-prototypes]
arch/m68k/hp300/time.c:101:13: error: no previous prototype for 'hp300_sched_init' [-Werror=missing-prototypes]
arch/m68k/kernel/ints.c:165:17: error: no previous prototype for 'handle_badint' [-Werror=missing-prototypes]
arch/m68k/kernel/process.c:115:16: error: no previous prototype for 'm68k_clone' [-Werror=missing-prototypes]
arch/m68k/kernel/process.c:136:16: error: no previous prototype for 'm68k_clone3' [-Werror=missing-prototypes]
arch/m68k/kernel/ptrace.c:275:16: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
arch/m68k/kernel/ptrace.c:288:17: error: no previous prototype for 'syscall_trace_leave' [-Werror=missing-prototypes]
arch/m68k/kernel/signal.c:1112:6: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
arch/m68k/kernel/signal.c:756:18: error: no previous prototype for 'do_sigreturn' [-Werror=missing-prototypes]
arch/m68k/kernel/signal.c:783:18: error: no previous prototype for 'do_rt_sigreturn' [-Werror=missing-prototypes]
arch/m68k/kernel/sys_m68k.c:378:1: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
arch/m68k/kernel/sys_m68k.c:40:17: error: no previous prototype for 'sys_mmap2' [-Werror=missing-prototypes]
arch/m68k/kernel/sys_m68k.c:463:1: error: no previous prototype for 'sys_atomic_cmpxchg_32' [-Werror=missing-prototypes]
arch/m68k/kernel/sys_m68k.c:564:16: error: no previous prototype for 'sys_getpagesize' [-Werror=missing-prototypes]
arch/m68k/kernel/sys_m68k.c:569:26: error: no previous prototype for 'sys_get_thread_area' [-Werror=missing-prototypes]
arch/m68k/kernel/sys_m68k.c:574:16: error: no previous prototype for 'sys_set_thread_area' [-Werror=missing-prototypes]
arch/m68k/kernel/sys_m68k.c:580:16: error: no previous prototype for 'sys_atomic_barrier' [-Werror=missing-prototypes]
arch/m68k/kernel/traps.c:1140:17: error: no previous prototype for 'set_esp0' [-Werror=missing-prototypes]
arch/m68k/kernel/traps.c:1149:17: error: no previous prototype for 'fpsp040_die' [-Werror=missing-prototypes]
arch/m68k/kernel/traps.c:1155:17: error: no previous prototype for 'fpemu_signal' [-Werror=missing-prototypes]
arch/m68k/kernel/traps.c:754:17: error: no previous prototype for 'buserr_c' [-Werror=missing-prototypes]
arch/m68k/kernel/traps.c:968:6: error: no previous prototype for 'bad_super_trap' [-Werror=missing-prototypes]
arch/m68k/kernel/vectors.c:51:13: error: no previous prototype for 'base_trap_init' [-Werror=missing-prototypes]
arch/m68k/kernel/vectors.c:74:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
arch/m68k/lib/ashldi3.c:35:1: error: no previous prototype for '__ashldi3' [-Werror=missing-prototypes]
arch/m68k/lib/ashrdi3.c:35:1: error: no previous prototype for '__ashrdi3' [-Werror=missing-prototypes]
arch/m68k/lib/lshrdi3.c:35:1: error: no previous prototype for '__lshrdi3' [-Werror=missing-prototypes]
arch/m68k/lib/muldi3.c:82:1: error: no previous prototype for '__muldi3' [-Werror=missing-prototypes]
arch/m68k/mac/baboon.c:25:13: error: no previous prototype for 'baboon_init' [-Werror=missing-prototypes]
arch/m68k/mac/config.c:961:12: error: no previous prototype for 'mac_platform_init' [-Werror=missing-prototypes]
arch/m68k/mac/iop.c:235:13: error: no previous prototype for 'iop_init' [-Werror=missing-prototypes]
arch/m68k/mac/macboing.c:164:6: error: no previous prototype for 'mac_mksound' [-Werror=missing-prototypes]
arch/m68k/mac/misc.c:609:5: error: no previous prototype for 'mac_hwclk' [-Werror=missing-prototypes]
arch/m68k/mac/oss.c:37:13: error: no previous prototype for 'oss_init' [-Werror=missing-prototypes]
arch/m68k/mac/psc.c:76:13: error: no previous prototype for 'psc_init' [-Werror=missing-prototypes]
arch/m68k/mac/via.c:111:13: error: no previous prototype for 'via_init' [-Werror=missing-prototypes]
arch/m68k/mac/via.c:593:13: error: no previous prototype for 'via_init_clock' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_arith.c:310:1: error: no previous prototype for 'fp_fsglmul' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_arith.c:367:1: error: no previous prototype for 'fp_fsgldiv' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:102:1: error: no previous prototype for 'fp_fetoxm1' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:112:1: error: no previous prototype for 'fp_fetox' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:122:1: error: no previous prototype for 'fp_ftwotox' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:132:1: error: no previous prototype for 'fp_ftentox' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:142:1: error: no previous prototype for 'fp_flogn' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:152:1: error: no previous prototype for 'fp_flognp1' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:162:1: error: no previous prototype for 'fp_flog10' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:172:1: error: no previous prototype for 'fp_flog2' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:182:1: error: no previous prototype for 'fp_fgetexp' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:203:1: error: no previous prototype for 'fp_fgetman' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_log.c:29:1: error: no previous prototype for 'fp_fsqrt' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:102:1: error: no previous prototype for 'fp_ftanh' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:112:1: error: no previous prototype for 'fp_fatanh' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:122:1: error: no previous prototype for 'fp_fsincos0' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:130:1: error: no previous prototype for 'fp_fsincos1' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:138:1: error: no previous prototype for 'fp_fsincos2' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:146:1: error: no previous prototype for 'fp_fsincos3' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:154:1: error: no previous prototype for 'fp_fsincos4' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:162:1: error: no previous prototype for 'fp_fsincos5' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:170:1: error: no previous prototype for 'fp_fsincos6' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:178:1: error: no previous prototype for 'fp_fsincos7' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:22:1: error: no previous prototype for 'fp_fsin' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:32:1: error: no previous prototype for 'fp_fcos' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:42:1: error: no previous prototype for 'fp_ftan' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:52:1: error: no previous prototype for 'fp_fasin' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:62:1: error: no previous prototype for 'fp_facos' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:72:1: error: no previous prototype for 'fp_fatan' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:82:1: error: no previous prototype for 'fp_fsinh' [-Werror=missing-prototypes]
arch/m68k/math-emu/fp_trig.c:92:1: error: no previous prototype for 'fp_fcosh' [-Werror=missing-prototypes]
arch/m68k/mm/fault.c:22:5: error: no previous prototype for 'send_fault_sig' [-Werror=missing-prototypes]
arch/m68k/mm/fault.c:68:5: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/m68k/mm/hwtest.c:29:5: error: no previous prototype for 'hwreg_present' [-Werror=missing-prototypes]
arch/m68k/mm/hwtest.c:62:5: error: no previous prototype for 'hwreg_write' [-Werror=missing-prototypes]
arch/m68k/mm/motorola.c:418:13: error: no previous prototype for 'paging_init' [-Werror=missing-prototypes]
arch/m68k/mvme147/config.c:76:13: error: no previous prototype for 'mvme147_init_IRQ' [-Werror=missing-prototypes]
arch/m68k/mvme16x/config.c:208:6: error: no previous prototype for 'mvme16x_cons_write' [-Werror=missing-prototypes]
arch/m68k/q40/q40ints.c:112:6: error: no previous prototype for 'q40_mksound' [-Werror=missing-prototypes]
arch/m68k/q40/q40ints.c:152:6: error: no previous prototype for 'q40_sched_init' [-Werror=missing-prototypes]
arch/m68k/q40/q40ints.c:84:13: error: no previous prototype for 'q40_init_IRQ' [-Werror=missing-prototypes]
arch/m68k/sun3/idprom.c:86:6: error: no previous prototype for 'sun3_get_model' [-Werror=missing-prototypes]
arch/m68k/sun3x/config.c:29:6: error: no previous prototype for 'sun3_leds' [-Werror=missing-prototypes]
arch/m68k/sun3x/config.c:42:13: error: no previous prototype for 'config_sun3x' [-Werror=missing-prototypes]
arch/m68k/sun3x/dvma.c:179:6: error: no previous prototype for 'dvma_unmap_iommu' [-Werror=missing-prototypes]
arch/m68k/sun3x/prom.c:33:6: error: no previous prototype for 'sun3x_halt' [-Werror=missing-prototypes]
arch/microblaze/kernel/traps.c:21:6: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
arch/mips/kernel/ftrace.c:305:6: error: no previous prototype for 'prepare_ftrace_return' [-Werror=missing-prototypes]
arch/mips/kernel/jump_label.c:93:6: error: no previous prototype for 'jump_label_apply_nops' [-Werror=missing-prototypes]
arch/mips/kernel/linux32.c:102:20: error: no previous prototype for 'sys32_readahead' [-Werror=missing-prototypes]
arch/mips/kernel/linux32.c:108:17: error: no previous prototype for 'sys32_sync_file_range' [-Werror=missing-prototypes]
arch/mips/kernel/linux32.c:118:17: error: no previous prototype for 'sys32_fadvise64_64' [-Werror=missing-prototypes]
arch/mips/kernel/linux32.c:128:17: error: no previous prototype for 'sys32_fallocate' [-Werror=missing-prototypes]
arch/mips/kernel/machine_kexec.c:136:1: error: no previous prototype for 'machine_shutdown' [-Werror=missing-prototypes]
arch/mips/kernel/machine_kexec.c:152:1: error: no previous prototype for 'machine_crash_shutdown' [-Werror=missing-prototypes]
arch/mips/kernel/mips-cm.c:204:13: error: no previous prototype for '__mips_cm_l2sync_phys_base' [-Werror=missing-prototypes]
arch/mips/kernel/mips-mt-fpaff.c:157:17: error: no previous prototype for 'mipsmt_sys_sched_getaffinity' [-Werror=missing-prototypes]
arch/mips/kernel/mips-mt-fpaff.c:65:17: error: no previous prototype for 'mipsmt_sys_sched_setaffinity' [-Werror=missing-prototypes]
arch/mips/kernel/mips-mt.c:159:6: error: no previous prototype for 'mips_mt_set_cpuoptions' [-Werror=missing-prototypes]
arch/mips/kernel/mips-mt.c:50:6: error: no previous prototype for 'mips_mt_regdump' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:438:5: error: no previous prototype for 'setup_sigcontext' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:438:5: error: no previous prototype for 'setup_sigcontext' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:515:5: error: no previous prototype for 'restore_sigcontext' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:515:5: error: no previous prototype for 'restore_sigcontext' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:636:17: error: no previous prototype for 'sys_sigreturn' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:673:17: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:673:17: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:903:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:903:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
arch/mips/kernel/signal32.c:33:16: error: no previous prototype for 'sys32_sigsuspend' [-Werror=missing-prototypes]
arch/mips/kernel/signal_n32.c:53:17: error: no previous prototype for 'sysn32_rt_sigreturn' [-Werror=missing-prototypes]
arch/mips/kernel/signal_o32.c:154:17: error: no previous prototype for 'sys32_rt_sigreturn' [-Werror=missing-prototypes]
arch/mips/kernel/signal_o32.c:256:17: error: no previous prototype for 'sys32_sigreturn' [-Werror=missing-prototypes]
arch/mips/kernel/smp.c:352:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
arch/mips/kernel/smp.c:352:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
arch/mips/kernel/smp.c:472:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
arch/mips/kernel/smp.c:472:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
arch/mips/kernel/spram.c:194:6: error: no previous prototype for 'spram_config' [-Werror=missing-prototypes]
arch/mips/kernel/spram.c:194:6: error: no previous prototype for 'spram_config' [-Werror=missing-prototypes]
arch/mips/kernel/syscall.c:51:16: error: no previous prototype for 'sysm_pipe' [-Werror=missing-prototypes]
arch/mips/kernel/syscall.c:51:16: error: no previous prototype for 'sysm_pipe' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1027:17: error: no previous prototype for 'do_bp' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1027:17: error: no previous prototype for 'do_bp' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1114:17: error: no previous prototype for 'do_tr' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1114:17: error: no previous prototype for 'do_tr' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1151:17: error: no previous prototype for 'do_ri' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1151:17: error: no previous prototype for 'do_ri' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1402:17: error: no previous prototype for 'do_cpu' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1402:17: error: no previous prototype for 'do_cpu' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1507:17: error: no previous prototype for 'do_msa_fpe' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1507:17: error: no previous prototype for 'do_msa_fpe' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1527:17: error: no previous prototype for 'do_msa' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1527:17: error: no previous prototype for 'do_msa' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1548:17: error: no previous prototype for 'do_mdmx' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1548:17: error: no previous prototype for 'do_mdmx' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1560:17: error: no previous prototype for 'do_watch' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1560:17: error: no previous prototype for 'do_watch' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1587:17: error: no previous prototype for 'do_mcheck' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1587:17: error: no previous prototype for 'do_mcheck' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1612:17: error: no previous prototype for 'do_mt' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1612:17: error: no previous prototype for 'do_mt' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1648:17: error: no previous prototype for 'do_dsp' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1648:17: error: no previous prototype for 'do_dsp' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1656:17: error: no previous prototype for 'do_reserved' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1656:17: error: no previous prototype for 'do_reserved' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1832:17: error: no previous prototype for 'cache_parity_error' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1832:17: error: no previous prototype for 'cache_parity_error' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1880:17: error: no previous prototype for 'do_ftlb' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1880:17: error: no previous prototype for 'do_ftlb' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1909:17: error: no previous prototype for 'do_gsexc' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1909:17: error: no previous prototype for 'do_gsexc' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1944:6: error: no previous prototype for 'ejtag_exception_handler' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1944:6: error: no previous prototype for 'ejtag_exception_handler' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1989:17: error: no previous prototype for 'nmi_exception_handler' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:1989:17: error: no previous prototype for 'nmi_exception_handler' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:370:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:370:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:447:17: error: no previous prototype for 'do_be' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:447:17: error: no previous prototype for 'do_be' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:752:17: error: no previous prototype for 'do_ov' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:752:17: error: no previous prototype for 'do_ov' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:874:17: error: no previous prototype for 'do_fpe' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:874:17: error: no previous prototype for 'do_fpe' [-Werror=missing-prototypes]
arch/mips/kernel/unaligned.c:1516:17: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
arch/mips/kernel/unaligned.c:1516:17: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
arch/mips/kvm/loongson_ipi.c:190:6: error: no previous prototype for 'kvm_init_loongson_ipi' [-Werror=missing-prototypes]
arch/mips/loongson64/dma.c:25:13: error: no previous prototype for 'plat_swiotlb_setup' [-Werror=missing-prototypes]
arch/mips/loongson64/pm.c:59:13: error: no previous prototype for 'setup_wakeup_events' [-Werror=missing-prototypes]
arch/mips/loongson64/pm.c:63:13: error: no previous prototype for 'mach_suspend' [-Werror=missing-prototypes]
arch/mips/loongson64/pm.c:67:13: error: no previous prototype for 'mach_resume' [-Werror=missing-prototypes]
arch/mips/mm/c-r4k.c:1588:6: error: no previous prototype for 'au1x00_fixup_config_od' [-Werror=missing-prototypes]
arch/mips/mm/c-r4k.c:1588:6: error: no previous prototype for 'au1x00_fixup_config_od' [-Werror=missing-prototypes]
arch/mips/mm/c-r4k.c:1703:6: error: no previous prototype for 'r4k_cache_init' [-Werror=missing-prototypes]
arch/mips/mm/c-r4k.c:1703:6: error: no previous prototype for 'r4k_cache_init' [-Werror=missing-prototypes]
arch/mips/mm/c-r4k.c:1831:12: error: no previous prototype for 'r4k_cache_init_pm' [-Werror=missing-prototypes]
arch/mips/mm/c-r4k.c:1831:12: error: no previous prototype for 'r4k_cache_init_pm' [-Werror=missing-prototypes]
arch/mips/mm/fault.c:323:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/mips/mm/fault.c:323:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/mips/mm/init.c:60:6: error: no previous prototype for 'setup_zero_pages' [-Werror=missing-prototypes]
arch/mips/mm/pgtable-64.c:101:6: error: no previous prototype for 'set_pmd_at' [-Werror=missing-prototypes]
arch/mips/mm/pgtable-64.c:92:7: error: no previous prototype for 'mk_pmd' [-Werror=missing-prototypes]
arch/mips/mm/sc-mips.c:255:5: error: no previous prototype for 'mips_sc_init' [-Werror=missing-prototypes]
arch/mips/mm/tlb-r4k.c:461:12: error: no previous prototype for 'add_temporary_entry' [-Werror=missing-prototypes]
arch/mips/mm/tlb-r4k.c:553:6: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
arch/mips/mm/tlb-r4k.c:553:6: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
arch/mips/mm/tlbex.c:2547:6: error: no previous prototype for 'build_tlb_refill_handler' [-Werror=missing-prototypes]
arch/mips/mm/tlbex.c:2547:6: error: no previous prototype for 'build_tlb_refill_handler' [-Werror=missing-prototypes]
arch/mips/mm/uasm.c:421:5: error: no previous prototype for 'uasm_in_compat_space_p' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:50:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:64:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
arch/mips/vdso/vgettimeofday.c:72:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
arch/nios2/kernel/irq.c:19:17: error: no previous prototype for 'do_IRQ' [-Werror=missing-prototypes]
arch/nios2/kernel/misaligned.c:66:17: error: no previous prototype for 'handle_unaligned_c' [-Werror=missing-prototypes]
arch/nios2/kernel/process.c:152:6: error: no previous prototype for 'dump' [-Werror=missing-prototypes]
arch/nios2/kernel/process.c:253:16: error: no previous prototype for 'nios2_clone' [-Werror=missing-prototypes]
arch/nios2/kernel/process.c:34:6: error: no previous prototype for 'arch_cpu_idle' [-Werror=missing-prototypes]
arch/nios2/kernel/process.c:43:6: error: no previous prototype for 'machine_restart' [-Werror=missing-prototypes]
arch/nios2/kernel/process.c:54:6: error: no previous prototype for 'machine_halt' [-Werror=missing-prototypes]
arch/nios2/kernel/process.c:66:6: error: no previous prototype for 'machine_power_off' [-Werror=missing-prototypes]
arch/nios2/kernel/setup.c:107:24: error: no previous prototype for 'nios2_boot_init' [-Werror=missing-prototypes]
arch/nios2/kernel/signal.c:101:16: error: no previous prototype for 'do_rt_sigreturn' [-Werror=missing-prototypes]
arch/nios2/kernel/signal.c:302:16: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
arch/nios2/kernel/sys_nios2.c:21:16: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
arch/nios2/kernel/sys_nios2.c:57:16: error: no previous prototype for 'sys_getpagesize' [-Werror=missing-prototypes]
arch/nios2/kernel/time.c:200:13: error: no previous prototype for 'timer_interrupt' [-Werror=missing-prototypes]
arch/nios2/kernel/traps.c:109:17: error: no previous prototype for 'breakpoint_c' [-Werror=missing-prototypes]
arch/nios2/kernel/traps.c:147:17: error: no previous prototype for 'handle_illegal_c' [-Werror=missing-prototypes]
arch/nios2/kernel/traps.c:154:17: error: no previous prototype for 'handle_supervisor_instr' [-Werror=missing-prototypes]
arch/nios2/kernel/traps.c:161:17: error: no previous prototype for 'handle_diverror_c' [-Werror=missing-prototypes]
arch/nios2/kernel/traps.c:168:17: error: no previous prototype for 'unhandled_exception' [-Werror=missing-prototypes]
arch/nios2/kernel/traps.c:183:17: error: no previous prototype for 'handle_trap_1_c' [-Werror=missing-prototypes]
arch/nios2/kernel/traps.c:188:17: error: no previous prototype for 'handle_trap_2_c' [-Werror=missing-prototypes]
arch/nios2/kernel/traps.c:193:17: error: no previous prototype for 'handle_trap_3_c' [-Werror=missing-prototypes]
arch/nios2/kernel/traps.c:32:6: error: no previous prototype for 'die' [-Werror=missing-prototypes]
arch/nios2/lib/memcpy.c:160:7: error: no previous prototype for 'memcpy' [-Werror=missing-prototypes]
arch/nios2/lib/memcpy.c:194:7: error: no previous prototype for 'memcpyb' [-Werror=missing-prototypes]
arch/nios2/mm/dma-mapping.c:21:6: error: no previous prototype for 'arch_sync_dma_for_device' [-Werror=missing-prototypes]
arch/nios2/mm/dma-mapping.c:45:6: error: no previous prototype for 'arch_sync_dma_for_cpu' [-Werror=missing-prototypes]
arch/nios2/mm/dma-mapping.c:63:6: error: no previous prototype for 'arch_dma_prep_coherent' [-Werror=missing-prototypes]
arch/nios2/mm/dma-mapping.c:70:7: error: no previous prototype for 'arch_dma_set_uncached' [-Werror=missing-prototypes]
arch/nios2/mm/fault.c:43:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/nios2/mm/pgtable.c:53:8: error: no previous prototype for 'pgd_alloc' [-Werror=missing-prototypes]
arch/nios2/mm/pgtable.c:68:13: error: no previous prototype for 'pagetable_init' [-Werror=missing-prototypes]
arch/nios2/mm/tlb.c:167:6: error: no previous prototype for 'dump_tlb_line' [-Werror=missing-prototypes]
arch/nios2/mm/tlb.c:208:6: error: no previous prototype for 'dump_tlb' [-Werror=missing-prototypes]
arch/nios2/mm/tlb.c:216:6: error: no previous prototype for 'flush_tlb_pid' [-Werror=missing-prototypes]
arch/openrisc/kernel/process.c:100:6: error: no previous prototype for 'arch_cpu_idle' [-Werror=missing-prototypes]
arch/openrisc/kernel/process.c:240:21: error: no previous prototype for '__switch_to' [-Werror=missing-prototypes]
arch/openrisc/kernel/ptrace.c:191:17: error: no previous prototype for 'do_syscall_trace_enter' [-Werror=missing-prototypes]
arch/openrisc/kernel/ptrace.c:210:17: error: no previous prototype for 'do_syscall_trace_leave' [-Werror=missing-prototypes]
arch/openrisc/kernel/signal.c:227:5: error: no previous prototype for 'do_signal' [-Werror=missing-prototypes]
arch/openrisc/kernel/signal.c:293:1: error: no previous prototype for 'do_work_pending' [-Werror=missing-prototypes]
arch/openrisc/kernel/signal.c:68:17: error: no previous prototype for '_sys_rt_sigreturn' [-Werror=missing-prototypes]
arch/openrisc/kernel/time.c:111:25: error: no previous prototype for 'timer_interrupt' [-Werror=missing-prototypes]
arch/openrisc/kernel/traps.c:146:6: error: no previous prototype for 'nommu_dump_state' [-Werror=missing-prototypes]
arch/openrisc/kernel/traps.c:221:17: error: no previous prototype for 'die' [-Werror=missing-prototypes]
arch/openrisc/kernel/traps.c:239:17: error: no previous prototype for 'unhandled_exception' [-Werror=missing-prototypes]
arch/openrisc/kernel/traps.c:246:17: error: no previous prototype for 'do_fpe_trap' [-Werror=missing-prototypes]
arch/openrisc/kernel/traps.c:268:17: error: no previous prototype for 'do_trap' [-Werror=missing-prototypes]
arch/openrisc/kernel/traps.c:273:17: error: no previous prototype for 'do_unaligned_access' [-Werror=missing-prototypes]
arch/openrisc/kernel/traps.c:286:17: error: no previous prototype for 'do_bus_fault' [-Werror=missing-prototypes]
arch/openrisc/kernel/traps.c:462:17: error: no previous prototype for 'do_illegal_instruction' [-Werror=missing-prototypes]
arch/openrisc/kernel/traps.c:67:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
arch/openrisc/mm/fault.c:44:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/openrisc/mm/tlb.c:188:13: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
arch/parisc/lib/ucmpdi2.c:12:5: error: no previous prototype for '__ucmpdi2' [-Werror=missing-prototypes]
arch/sh/kernel/cpu/init.c:99:29: error: no previous prototype for 'l2_cache_init' [-Werror=missing-prototypes]
arch/sh/kernel/cpu/init.c:99:29: error: no previous prototype for 'l2_cache_init' [-Werror=missing-prototypes]
arch/sh/kernel/cpu/sh4/fpu.c:389:6: error: no previous prototype for 'float_raise' [-Werror=missing-prototypes]
arch/sh/kernel/cpu/sh4/fpu.c:394:5: error: no previous prototype for 'float_rounding_mode' [-Werror=missing-prototypes]
arch/sh/kernel/hw_breakpoint.c:135:5: error: no previous prototype for 'arch_bp_generic_fields' [-Werror=missing-prototypes]
arch/sh/kernel/hw_breakpoint.c:135:5: error: no previous prototype for 'arch_bp_generic_fields' [-Werror=missing-prototypes]
arch/sh/kernel/return_address.c:49:7: error: no previous prototype for 'return_address' [-Werror=missing-prototypes]
arch/sh/kernel/return_address.c:49:7: error: no previous prototype for 'return_address' [-Werror=missing-prototypes]
arch/sh/kernel/sys_sh.c:58:16: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
arch/sh/kernel/sys_sh.c:58:16: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
arch/sh/kernel/traps_32.c:735:6: error: no previous prototype for 'per_cpu_trap_init' [-Werror=missing-prototypes]
arch/sh/kernel/traps_32.c:735:6: error: no previous prototype for 'per_cpu_trap_init' [-Werror=missing-prototypes]
arch/sh/mm/cache-sh2.c:85:13: error: no previous prototype for 'sh2_cache_init' [-Werror=missing-prototypes]
arch/sh/mm/cache-sh4.c:384:13: error: no previous prototype for 'sh4_cache_init' [-Werror=missing-prototypes]
arch/sh/mm/fault.c:389:27: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/sh/mm/flush-sh4.c:106:13: error: no previous prototype for 'sh4__flush_region_init' [-Werror=missing-prototypes]
arch/sh/mm/nommu.c:76:13: error: no previous prototype for 'kmap_coherent_init' [-Werror=missing-prototypes]
arch/sh/mm/nommu.c:80:7: error: no previous prototype for 'kmap_coherent' [-Werror=missing-prototypes]
arch/sh/mm/nommu.c:86:6: error: no previous prototype for 'kunmap_coherent' [-Werror=missing-prototypes]
arch/sh/mm/pgtable.c:10:6: error: no previous prototype for 'pgd_ctor' [-Werror=missing-prototypes]
arch/sh/mm/pgtable.c:32:8: error: no previous prototype for 'pgd_alloc' [-Werror=missing-prototypes]
arch/sh/mm/pgtable.c:37:6: error: no previous prototype for 'pgd_free' [-Werror=missing-prototypes]
arch/sh/mm/tlbex_32.c:22:1: error: no previous prototype for 'handle_tlbmiss' [-Werror=missing-prototypes]
arch/sparc/kernel/adi_64.c:124:21: error: no previous prototype for 'find_tag_store' [-Werror=missing-prototypes]
arch/sparc/kernel/adi_64.c:156:21: error: no previous prototype for 'alloc_tag_store' [-Werror=missing-prototypes]
arch/sparc/kernel/adi_64.c:299:6: error: no previous prototype for 'del_tag_store' [-Werror=missing-prototypes]
arch/sparc/kernel/pci_sun4v.c:258:15: error: no previous prototype for 'dma_4v_iotsb_bind' [-Werror=missing-prototypes]
arch/sparc/kernel/setup_64.c:615:13: error: no previous prototype for 'alloc_irqstack_bootmem' [-Werror=missing-prototypes]
arch/sparc/kernel/time_64.c:880:20: error: no previous prototype for 'sched_clock' [-Werror=missing-prototypes]
arch/sparc/kernel/traps_32.c:366:6: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
arch/sparc/kernel/traps_64.c:2034:6: error: no previous prototype for 'do_mcd_err' [-Werror=missing-prototypes]
arch/sparc/kernel/traps_64.c:2152:6: error: no previous prototype for 'sun4v_nonresum_error_user_handled' [-Werror=missing-prototypes]
arch/sparc/kernel/traps_64.c:252:6: error: no previous prototype for 'is_no_fault_exception' [-Werror=missing-prototypes]
arch/sparc/kernel/traps_64.c:2839:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
arch/sparc/kernel/uprobes.c:237:17: error: no previous prototype for 'uprobe_trap' [-Werror=missing-prototypes]
arch/sparc/lib/cmpdi2.c:6:11: error: no previous prototype for '__cmpdi2' [-Werror=missing-prototypes]
arch/sparc/lib/ucmpdi2.c:5:11: error: no previous prototype for '__ucmpdi2' [-Werror=missing-prototypes]
arch/sparc/mm/init_64.c:2644:6: error: no previous prototype for 'vmemmap_free' [-Werror=missing-prototypes]
arch/sparc/prom/misc_64.c:165:5: error: no previous prototype for 'prom_get_mmu_ihandle' [-Werror=missing-prototypes]
arch/sparc/prom/p1275.c:52:6: error: no previous prototype for 'prom_cif_init' [-Werror=missing-prototypes]
arch/sparc/vdso/vclock_gettime.c:254:1: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
arch/sparc/vdso/vclock_gettime.c:282:1: error: no previous prototype for '__vdso_clock_gettime_stick' [-Werror=missing-prototypes]
arch/sparc/vdso/vclock_gettime.c:307:1: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
arch/sparc/vdso/vclock_gettime.c:343:1: error: no previous prototype for '__vdso_gettimeofday_stick' [-Werror=missing-prototypes]
arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: error: no previous prototype for '__vdso_clock_gettime_stick' [-Werror=missing-prototypes]
arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: error: no previous prototype for '__vdso_gettimeofday_stick' [-Werror=missing-prototypes]
arch/sparc/vdso/vma.c:246:12: error: no previous prototype for 'init_vdso_image' [-Werror=missing-prototypes]
arch/xtensa/kernel/irq.c:34:17: error: no previous prototype for 'do_IRQ' [-Werror=missing-prototypes]
arch/xtensa/kernel/ptrace.c:545:5: error: no previous prototype for 'do_syscall_trace_enter' [-Werror=missing-prototypes]
arch/xtensa/kernel/setup.c:244:13: error: no previous prototype for 'init_arch' [-Werror=missing-prototypes]
arch/xtensa/kernel/signal.c:246:17: error: no previous prototype for 'xtensa_rt_sigreturn' [-Werror=missing-prototypes]
arch/xtensa/kernel/signal.c:525:6: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
arch/xtensa/kernel/stacktrace.c:263:15: error: no previous prototype for 'return_address' [-Werror=missing-prototypes]
arch/xtensa/kernel/traps.c:484:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
arch/xtensa/mm/fault.c:87:6: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
arch/xtensa/platforms/iss/network.c:204:16: error: no previous prototype for 'tuntap_protocol' [-Werror=missing-prototypes]
arch/xtensa/platforms/iss/network.c:444:6: error: no previous prototype for 'iss_net_user_timer_expire' [-Werror=missing-prototypes]


Cc: Matt Turner <mattst88@gmail.com>
Cc: Vineet Gupta <vgupta@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Guo Ren <guoren@kernel.org>
Cc: Brian Cain <bcain@quicinc.com>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Stafford Horne <shorne@gmail.com>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: x86@kernel.org
Cc: Borislav Petkov <bp@alien8.de>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: linux-next@vger.kernel.org
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-alpha@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-mips@vger.kernel.org
Cc: linux-openrisc@vger.kernel.org
Cc: sparclinux@vger.kernel.org
---
 arch/alpha/Kbuild                  |  2 ++
 arch/alpha/lib/Makefile            |  1 +
 arch/arc/Kbuild                    |  2 ++
 arch/csky/Kbuild                   |  2 ++
 arch/hexagon/Kbuild                |  2 ++
 arch/ia64/Kbuild                   |  2 ++
 arch/ia64/lib/Makefile             |  1 +
 arch/loongarch/Kbuild              |  2 ++
 arch/m68k/Kbuild                   |  2 ++
 arch/m68k/lib/Makefile             |  1 +
 arch/microblaze/Kbuild             |  2 ++
 arch/mips/Kbuild                   |  2 ++
 arch/mips/boot/compressed/Makefile |  3 ++-
 arch/nios2/Kbuild                  |  2 ++
 arch/nios2/lib/Makefile            |  1 +
 arch/openrisc/Kbuild               |  2 ++
 arch/parisc/Kbuild                 |  2 ++
 arch/parisc/lib/Makefile           |  1 +
 arch/sh/Kbuild                     |  2 ++
 arch/sh/boot/compressed/Makefile   |  1 +
 arch/sparc/Kbuild                  |  2 ++
 arch/sparc/lib/Makefile            |  1 +
 arch/sparc/prom/Makefile           |  1 +
 arch/xtensa/Kbuild                 |  2 ++
 arch/xtensa/boot/lib/Makefile      |  2 ++
 init/Kconfig                       | 10 ++++++++++
 26 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/arch/alpha/Kbuild b/arch/alpha/Kbuild
index 345d79df24bb9..283cb9d5b022c 100644
--- a/arch/alpha/Kbuild
+++ b/arch/alpha/Kbuild
@@ -4,3 +4,5 @@ obj-$(CONFIG_MATHEMU)	+= math-emu/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/alpha/lib/Makefile b/arch/alpha/lib/Makefile
index 1cc74f7b50efb..09e0be65caa93 100644
--- a/arch/alpha/lib/Makefile
+++ b/arch/alpha/lib/Makefile
@@ -5,6 +5,7 @@
 
 asflags-y := $(KBUILD_CFLAGS)
 ccflags-y := -Werror
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
 
 # Many of these routines have implementations tuned for ev6.
 # Choose them iff we're targeting ev6 specifically.
diff --git a/arch/arc/Kbuild b/arch/arc/Kbuild
index b94102fff68b4..9bc728209f747 100644
--- a/arch/arc/Kbuild
+++ b/arch/arc/Kbuild
@@ -4,3 +4,5 @@ obj-y += mm/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/csky/Kbuild b/arch/csky/Kbuild
index 0621eaea41962..1d4322ebc95e5 100644
--- a/arch/csky/Kbuild
+++ b/arch/csky/Kbuild
@@ -4,3 +4,5 @@ obj-y += kernel/ mm/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/hexagon/Kbuild b/arch/hexagon/Kbuild
index 8421baba13518..9aceffc706d4a 100644
--- a/arch/hexagon/Kbuild
+++ b/arch/hexagon/Kbuild
@@ -1,2 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-y += kernel/ mm/ lib/
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/ia64/Kbuild b/arch/ia64/Kbuild
index e77cc76d228cd..69e3c2dadde0e 100644
--- a/arch/ia64/Kbuild
+++ b/arch/ia64/Kbuild
@@ -1,3 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-y				+= kernel/ mm/
 obj-$(CONFIG_IA64_SGI_UV)	+= uv/
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/ia64/lib/Makefile b/arch/ia64/lib/Makefile
index 081fcba01dc0c..03999c9f19bb3 100644
--- a/arch/ia64/lib/Makefile
+++ b/arch/ia64/lib/Makefile
@@ -2,6 +2,7 @@
 #
 # Makefile for ia64-specific library routines..
 #
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
 
 lib-y := io.o __divsi3.o __udivsi3.o __modsi3.o __umodsi3.o		\
 	__divdi3.o __udivdi3.o __moddi3.o __umoddi3.o			\
diff --git a/arch/loongarch/Kbuild b/arch/loongarch/Kbuild
index b01f5cdb27e03..f3b89e5f79050 100644
--- a/arch/loongarch/Kbuild
+++ b/arch/loongarch/Kbuild
@@ -5,3 +5,5 @@ obj-y += vdso/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/m68k/Kbuild b/arch/m68k/Kbuild
index 7762af9f6defe..b2abbf427e8f2 100644
--- a/arch/m68k/Kbuild
+++ b/arch/m68k/Kbuild
@@ -18,3 +18,5 @@ obj-$(CONFIG_M68KFPU_EMU)	+= math-emu/
 obj-$(CONFIG_M68000)		+= 68000/
 obj-$(CONFIG_COLDFIRE)		+= coldfire/
 obj-$(CONFIG_VIRT)		+= virt/
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/m68k/lib/Makefile b/arch/m68k/lib/Makefile
index eca17f14b4d5e..3aea84ffa0db2 100644
--- a/arch/m68k/lib/Makefile
+++ b/arch/m68k/lib/Makefile
@@ -3,6 +3,7 @@
 #
 # Makefile for m68k-specific library files..
 #
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
 
 lib-y	:= ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \
 	   memcpy.o memset.o memmove.o
diff --git a/arch/microblaze/Kbuild b/arch/microblaze/Kbuild
index 077a0b8e96157..b2799946ae01d 100644
--- a/arch/microblaze/Kbuild
+++ b/arch/microblaze/Kbuild
@@ -6,3 +6,5 @@ obj-y			+= boot/dts/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/mips/Kbuild b/arch/mips/Kbuild
index af2967bffb73d..484cfda563b68 100644
--- a/arch/mips/Kbuild
+++ b/arch/mips/Kbuild
@@ -28,3 +28,5 @@ endif
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
index 6cc28173bee89..58be7966d839f 100644
--- a/arch/mips/boot/compressed/Makefile
+++ b/arch/mips/boot/compressed/Makefile
@@ -11,9 +11,10 @@
 # Copyright (C) 2009 Lemote Inc. & DSLab, Lanzhou University
 # Author: Wu Zhangjin <wuzhangjin@gmail.com>
 #
-
 include $(srctree)/arch/mips/Kbuild.platforms
 
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
+
 # set the default size of the mallocing area for decompressing
 BOOT_HEAP_SIZE := 0x400000
 
diff --git a/arch/nios2/Kbuild b/arch/nios2/Kbuild
index fc2952edd2dec..5f79d266fd4ef 100644
--- a/arch/nios2/Kbuild
+++ b/arch/nios2/Kbuild
@@ -4,3 +4,5 @@ obj-y += kernel/ mm/ platform/ boot/dts/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/nios2/lib/Makefile b/arch/nios2/lib/Makefile
index 9d5bf1df520c1..9acc5a98760fa 100644
--- a/arch/nios2/lib/Makefile
+++ b/arch/nios2/lib/Makefile
@@ -2,6 +2,7 @@
 #
 # Makefile for Nios2-specific library files.
 #
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
 
 lib-y += delay.o
 lib-y += memcpy.o
diff --git a/arch/openrisc/Kbuild b/arch/openrisc/Kbuild
index b0b0f2b03f872..ba60f445bf429 100644
--- a/arch/openrisc/Kbuild
+++ b/arch/openrisc/Kbuild
@@ -4,3 +4,5 @@ obj-y += boot/dts/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/parisc/Kbuild b/arch/parisc/Kbuild
index a6d3b280ba0c2..b825fb5cf9226 100644
--- a/arch/parisc/Kbuild
+++ b/arch/parisc/Kbuild
@@ -3,3 +3,5 @@ obj-y	+= mm/ kernel/ math-emu/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/parisc/lib/Makefile b/arch/parisc/lib/Makefile
index 7b197667faf6c..348a286ab68fe 100644
--- a/arch/parisc/lib/Makefile
+++ b/arch/parisc/lib/Makefile
@@ -2,6 +2,7 @@
 #
 # Makefile for parisc-specific library files
 #
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
 
 lib-y	:= lusercopy.o bitops.o checksum.o io.o memset.o memcpy.o \
 	   ucmpdi2.o delay.o
diff --git a/arch/sh/Kbuild b/arch/sh/Kbuild
index 056efec72c2a0..df2cf06eea5f6 100644
--- a/arch/sh/Kbuild
+++ b/arch/sh/Kbuild
@@ -7,3 +7,5 @@ obj-$(CONFIG_HD6446X_SERIES)	+= cchips/hd6446x/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile
index b5e29f99c02c8..25000003c94eb 100644
--- a/arch/sh/boot/compressed/Makefile
+++ b/arch/sh/boot/compressed/Makefile
@@ -4,6 +4,7 @@
 #
 # create a compressed vmlinux image from the original vmlinux
 #
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
 
 OBJECTS := head_32.o misc.o cache.o piggy.o \
            ashiftrt.o ashldi3.o ashrsi3.o ashlsi3.o lshrsi3.o
diff --git a/arch/sparc/Kbuild b/arch/sparc/Kbuild
index 71cb3d934bf6c..320a4092b334e 100644
--- a/arch/sparc/Kbuild
+++ b/arch/sparc/Kbuild
@@ -12,3 +12,5 @@ obj-$(CONFIG_SPARC64) += vdso/
 
 # for cleaning
 subdir- += boot
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefile
index 063556fe2cb1d..2a5cba8e68dfd 100644
--- a/arch/sparc/lib/Makefile
+++ b/arch/sparc/lib/Makefile
@@ -4,6 +4,7 @@
 
 asflags-y := -ansi -DST_DIV0=0x02
 ccflags-y := -Werror
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
 
 lib-$(CONFIG_SPARC32) += ashrdi3.o
 lib-$(CONFIG_SPARC32) += memcpy.o memset.o
diff --git a/arch/sparc/prom/Makefile b/arch/sparc/prom/Makefile
index 397b79af77f7b..0a82ebb014130 100644
--- a/arch/sparc/prom/Makefile
+++ b/arch/sparc/prom/Makefile
@@ -4,6 +4,7 @@
 #
 asflags := -ansi
 ccflags := -Werror
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
 
 lib-y                 := bootstr_$(BITS).o
 lib-y                 += init_$(BITS).o
diff --git a/arch/xtensa/Kbuild b/arch/xtensa/Kbuild
index fd12f61745bad..f01d1ca727b97 100644
--- a/arch/xtensa/Kbuild
+++ b/arch/xtensa/Kbuild
@@ -1,2 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-y += kernel/ mm/ platforms/ boot/dts/
+
+subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
diff --git a/arch/xtensa/boot/lib/Makefile b/arch/xtensa/boot/lib/Makefile
index 0378a22a08e33..a9f1c1e139389 100644
--- a/arch/xtensa/boot/lib/Makefile
+++ b/arch/xtensa/boot/lib/Makefile
@@ -8,6 +8,8 @@ zlib	:= inffast.c inflate.c inftrees.c
 lib-y	+= $(zlib:.c=.o) zmem.o
 
 ccflags-y	:= -I $(srctree)/lib/zlib_inflate
+ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
+
 ifdef CONFIG_FUNCTION_TRACER
 CFLAGS_REMOVE_inflate.o = -pg
 CFLAGS_REMOVE_zmem.o = -pg
diff --git a/init/Kconfig b/init/Kconfig
index 639e8a3363c30..80cd67c0d7fa4 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -170,6 +170,16 @@ config WERROR
 
 	  If in doubt, say Y.
 
+config WNO_MISSING_PROTOTYPES
+	bool "Hide -Wmissing-prototype warnings in arch code"
+	default WERROR || !COMPILE_TEST
+	help
+	  Some architectures have not yet eliminated all warnings for
+	  missing prototypes in their core code and will produce a lot
+	  of output for these. Ideally these should all be addresszed
+	  by individual bugfix patches, but in the meantime saying 'y'
+	  will skip that output.
+
 config UAPI_HEADER_TEST
 	bool "Compile test UAPI headers"
 	depends on HEADERS_INSTALL && CC_CAN_LINK
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* [PATCH 17/17] [RFC] Makefile.extrawarn: turn on missing-prototypes again
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (15 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally Arnd Bergmann
@ 2023-08-10 14:19 ` Arnd Bergmann
  2023-08-10 19:02   ` Kees Cook
  2023-08-16 14:38 ` [PATCH 00/17] -Wmissing-prototype warning fixes Palmer Dabbelt
                   ` (2 subsequent siblings)
  19 siblings, 1 reply; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 14:19 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Masahiro Yamada
  Cc: Arnd Bergmann, Nathan Chancellor, Nick Desaulniers,
	Nicolas Schier, Kees Cook, Sami Tolvanen, linux-kbuild

From: Arnd Bergmann <arnd@arndb.de>

Over the years we went from > 1000 of warnings to under 100 earlier
this year, and I sent patches to address all the ones that I saw with
compile testing randcom configs on arm64, arm and x86 kernels. This is a
really useful warning, as it catches real bugs when there are mismatched
prototypes. In particular with kernel control flow integrity enabled,
those are no longer allowed.

Move the options out of the W=1 section to have them enabled by
default.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I'm sure there are still regressions with CONFIG_WERROR when this gets
turned on, but it's getting very close, so it might be best to already
enable this in linux-next but wait one extra merge window to have it in
mainline while the last fixes trickle in.
---
 scripts/Makefile.extrawarn | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index 40cd13eca82e8..fda5f9087a863 100644
--- a/scripts/Makefile.extrawarn
+++ b/scripts/Makefile.extrawarn
@@ -15,6 +15,9 @@ ifeq ("$(origin W)", "command line")
   KBUILD_EXTRA_WARN := $(W)
 endif
 
+KBUILD_CFLAGS += -Wmissing-declarations
+KBUILD_CFLAGS += -Wmissing-prototypes
+
 export KBUILD_EXTRA_WARN
 
 #
@@ -23,9 +26,7 @@ export KBUILD_EXTRA_WARN
 ifneq ($(findstring 1, $(KBUILD_EXTRA_WARN)),)
 
 KBUILD_CFLAGS += -Wextra -Wunused -Wno-unused-parameter
-KBUILD_CFLAGS += -Wmissing-declarations
 KBUILD_CFLAGS += -Wmissing-format-attribute
-KBUILD_CFLAGS += -Wmissing-prototypes
 KBUILD_CFLAGS += -Wold-style-definition
 KBUILD_CFLAGS += -Wmissing-include-dirs
 KBUILD_CFLAGS += $(call cc-option, -Wunused-but-set-variable)
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 52+ messages in thread

* Re: [PATCH 05/17] swim3: mark swim3_init() static
  2023-08-10 14:19 ` [PATCH 05/17] swim3: mark swim3_init() static Arnd Bergmann
@ 2023-08-10 14:26   ` Jinpu Wang
  2023-08-10 14:33   ` Jens Axboe
  1 sibling, 0 replies; 52+ messages in thread
From: Jinpu Wang @ 2023-08-10 14:26 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Jens Axboe, Arnd Bergmann,
	Christian Brauner, Hannes Reinecke, linux-block

On Thu, Aug 10, 2023 at 4:21 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> This is the module init function, which by definition is used only
> locally, so mark it static to avoid a warning:
>
> drivers/block/swim3.c:1280:5: error: no previous prototype for 'swim3_init' [-Werror=missing-prototypes]
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
lgtm
Reviewed-by: Jack Wang <jinpu.wang@ionos.com>
> ---
>  drivers/block/swim3.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c
> index dc43a63b34694..c2bc85826358e 100644
> --- a/drivers/block/swim3.c
> +++ b/drivers/block/swim3.c
> @@ -1277,7 +1277,7 @@ static struct macio_driver swim3_driver =
>  };
>
>
> -int swim3_init(void)
> +static int swim3_init(void)
>  {
>         macio_register_driver(&swim3_driver);
>         return 0;
> --
> 2.39.2
>

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 07/17] scsi: qlogicpti: mark qlogicpti_info() static
  2023-08-10 14:19 ` [PATCH 07/17] scsi: qlogicpti: mark qlogicpti_info() static Arnd Bergmann
@ 2023-08-10 14:27   ` Jinpu Wang
  2023-08-21 20:38   ` Martin K. Petersen
  1 sibling, 0 replies; 52+ messages in thread
From: Jinpu Wang @ 2023-08-10 14:27 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, James E.J. Bottomley,
	Martin K. Petersen, Arnd Bergmann, Rob Herring, Bart Van Assche,
	linux-scsi

On Thu, Aug 10, 2023 at 4:22 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> The qlogicpti_info() function is only used in this file and should
> be static to avoid a warning:
>
> drivers/scsi/qlogicpti.c:846:13: error: no previous prototype for 'qlogicpti_info' [-Werror=missing-prototypes]
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
lgtm
Reviewed-by: Jack Wang <jinpu.wang@ionos.com>
> ---
>  drivers/scsi/qlogicpti.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
> index f88a5421c483f..3b95f7a6216fe 100644
> --- a/drivers/scsi/qlogicpti.c
> +++ b/drivers/scsi/qlogicpti.c
> @@ -843,7 +843,7 @@ static int qpti_map_queues(struct qlogicpti *qpti)
>         return 0;
>  }
>
> -const char *qlogicpti_info(struct Scsi_Host *host)
> +static const char *qlogicpti_info(struct Scsi_Host *host)
>  {
>         static char buf[80];
>         struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata;
> --
> 2.39.2
>

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 05/17] swim3: mark swim3_init() static
  2023-08-10 14:19 ` [PATCH 05/17] swim3: mark swim3_init() static Arnd Bergmann
  2023-08-10 14:26   ` Jinpu Wang
@ 2023-08-10 14:33   ` Jens Axboe
  1 sibling, 0 replies; 52+ messages in thread
From: Jens Axboe @ 2023-08-10 14:33 UTC (permalink / raw)
  To: Arnd Bergmann, Andrew Morton, linux-kernel
  Cc: Arnd Bergmann, Christian Brauner, Hannes Reinecke, Jack Wang,
	linux-block

On 8/10/23 8:19 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> This is the module init function, which by definition is used only
> locally, so mark it static to avoid a warning:
> 
> drivers/block/swim3.c:1280:5: error: no previous prototype for 'swim3_init' [-Werror=missing-prototypes]

Applied, thanks.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 04/17] pci: sysfs: move declarations to linux/pci.h
  2023-08-10 14:19 ` [PATCH 04/17] pci: sysfs: move declarations to linux/pci.h Arnd Bergmann
@ 2023-08-10 14:38   ` Bjorn Helgaas
  0 siblings, 0 replies; 52+ messages in thread
From: Bjorn Helgaas @ 2023-08-10 14:38 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Richard Henderson, Ivan Kokshaysky,
	Matt Turner, Bjorn Helgaas, Arnd Bergmann, Thomas Gleixner,
	Andy Shevchenko, Dan Williams, Kuppuswamy Sathyanarayanan,
	Christophe JAILLET, Reinette Chatre, Ira Weiny, Mika Westerberg,
	Ahmed S. Darwish, Sami Tolvanen, linux-alpha, linux-pci

On Thu, Aug 10, 2023 at 04:19:22PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> A couple of architectures build the __weak versions of
> pci_create_resource_files() and pci_remove_resource_files() but don't
> have prototypes for these, which causes warnings:
> 
> drivers/pci/pci-sysfs.c:1253:12: error: no previous prototype for 'pci_create_resource_files' [-Werror=missing-prototypes]
>  1253 | int __weak pci_create_resource_files(struct pci_dev *dev) { return 0; }
> drivers/pci/pci-sysfs.c:1254:13: error: no previous prototype for 'pci_remove_resource_files' [-Werror=missing-prototypes]
>  1254 | void __weak pci_remove_resource_files(struct pci_dev *dev) { return; }
> 
> Move the prototypes from alpha architecture into the global header to
> avoid these warnings for all of them.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Applied to pci/misc for v6.6, thanks!

> ---
>  arch/alpha/include/asm/pci.h | 3 ---
>  include/linux/pci.h          | 5 +++++
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/alpha/include/asm/pci.h b/arch/alpha/include/asm/pci.h
> index 6312656279d79..6c04fcbdc8ed2 100644
> --- a/arch/alpha/include/asm/pci.h
> +++ b/arch/alpha/include/asm/pci.h
> @@ -88,7 +88,4 @@ extern void pci_adjust_legacy_attr(struct pci_bus *bus,
>  				   enum pci_mmap_state mmap_type);
>  #define HAVE_PCI_LEGACY	1
>  
> -extern int pci_create_resource_files(struct pci_dev *dev);
> -extern void pci_remove_resource_files(struct pci_dev *dev);
> -
>  #endif /* __ALPHA_PCI_H */
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index eeb2e6f6130f4..198a399c4b792 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -2260,6 +2260,11 @@ int pcibios_alloc_irq(struct pci_dev *dev);
>  void pcibios_free_irq(struct pci_dev *dev);
>  resource_size_t pcibios_default_alignment(void);
>  
> +#if !defined(HAVE_PCI_MMAP) && !defined(ARCH_GENERIC_PCI_MMAP_RESOURCE)
> +extern int pci_create_resource_files(struct pci_dev *dev);
> +extern void pci_remove_resource_files(struct pci_dev *dev);
> +#endif
> +
>  #if defined(CONFIG_PCI_MMCONFIG) || defined(CONFIG_ACPI_MCFG)
>  void __init pci_mmcfg_early_init(void);
>  void __init pci_mmcfg_late_init(void);
> -- 
> 2.39.2
> 

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally
  2023-08-10 14:19 ` [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally Arnd Bergmann
@ 2023-08-10 14:59   ` Christophe Leroy
  2023-08-10 15:21     ` Arnd Bergmann
  2023-08-11  2:33   ` Guo Ren
  2023-08-11 20:09   ` Stafford Horne
  2 siblings, 1 reply; 52+ messages in thread
From: Christophe Leroy @ 2023-08-10 14:59 UTC (permalink / raw)
  To: Arnd Bergmann, Andrew Morton, linux-kernel
  Cc: Arnd Bergmann, Matt Turner, Vineet Gupta, Russell King,
	Catalin Marinas, Will Deacon, Guo Ren, Brian Cain, Huacai Chen,
	WANG Xuerui, Geert Uytterhoeven, Michal Simek,
	Thomas Bogendoerfer, Dinh Nguyen, Jonas Bonn, Stafford Horne,
	James E.J. Bottomley, Helge Deller, Michael Ellerman,
	Palmer Dabbelt, Heiko Carstens, John Paul Adrian Glaubitz, x86,
	Borislav Petkov, Nathan Chancellor, Nick Desaulniers,
	Guenter Roeck, Stephen Rothwell, linux-next, linux-alpha,
	linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
	linux-ia64, loongarch, linux-m68k, linux-mips, linux-openrisc,
	sparclinux, Richard Henderson, Ivan Kokshaysky,
	Stefan Kristiansson, Yoshinori Sato, Rich Felker,
	David S. Miller, Chris Zankel, Max Filippov, Christian Brauner,
	Paul Walmsley, Albert Ou, Youling Tang, Tiezhu Yang,
	Masahiro Yamada, Randy Dunlap, Masami Hiramatsu (Google),
	Paul E. McKenney, Miguel Ojeda, Zhen Lei, Xin Li, Nhat Pham,
	Greg Kroah-Hartman, Marc Aurèle La France, Johannes Weiner,
	linux-parisc, linux-sh, linux-riscv



Le 10/08/2023 à 16:19, Arnd Bergmann a écrit :
> From: Arnd Bergmann <arnd@arndb.de>
> 
> I have cleaned up the -Wmissing-prototypes warnings for most of the major architectures
> as well as all drivers that get enabled for CONFIG_COMPILE_TEST, so now these should be
> close to fixed on x86, arm, arm64, powerpc, s390, and riscv.
> 
> The other architectures tend to have a lot of these warning in architecture specific
> code, primarily from functions that are only called from assembler code and do
> not otherwise need a declaration but still cause a warning without one. Other cases
> are simply functions that should just be static or are missing an #include statement.
> 
> In order to be able to turn the warning on globally by default without breaking all
> these architectures, add a list of exceptions for architecture directories that
> can revert back to the old behavior of not warning based on a new
> CONFIG_WNO_MISSING_PROTOTYPES option.

Some architectures only have a few of those errors/warnings.

For instance microblaze and parisc only have one each. Isn't it better 
to fix them rather then turn the errors off ?

Others like loongarch which is a recent actively maintained 
architecture, I'd expect the 30 errors to be easy to fix.

Many of the alpha ones seems to be brought by your commit e19d4ebc536d 
("alpha: add full ioread64/iowrite64 implementation")

Christophe

> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> Below is the full list of warnings I see in defconfig builds for reference, these
> do not need to be part of the changelog.
> 
> arch/alpha/include/asm/core_t2.h:465:20: error: no previous prototype for 't2_readb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:476:21: error: no previous prototype for 't2_readw' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:491:21: error: no previous prototype for 't2_readl' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:502:21: error: no previous prototype for 't2_readq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:515:22: error: no previous prototype for 't2_writeb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:526:22: error: no previous prototype for 't2_writew' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:541:22: error: no previous prototype for 't2_writel' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:550:22: error: no previous prototype for 't2_writeq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:562:31: error: no previous prototype for 't2_ioportmap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:567:31: error: no previous prototype for 't2_ioremap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:573:21: error: no previous prototype for 't2_is_ioaddr' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:578:21: error: no previous prototype for 't2_is_mmio' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread16' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread32' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread64' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread8' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite16' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite32' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite64' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite8' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:614:33: error: no previous prototype for 't2_iounmap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:115:30: error: no previous prototype for 'jensen_local_inb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:120:22: error: no previous prototype for 'jensen_local_outb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:126:30: error: no previous prototype for 'jensen_bus_inb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:135:22: error: no previous prototype for 'jensen_bus_outb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:155:20: error: no previous prototype for 'jensen_inb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:163:22: error: no previous prototype for 'jensen_outb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:171:21: error: no previous prototype for 'jensen_inw' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:181:21: error: no previous prototype for 'jensen_inl' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:187:21: error: no previous prototype for 'jensen_inq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:193:22: error: no previous prototype for 'jensen_outw' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:200:22: error: no previous prototype for 'jensen_outl' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:207:22: error: no previous prototype for 'jensen_outq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:218:20: error: no previous prototype for 'jensen_readb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:230:21: error: no previous prototype for 'jensen_readw' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:242:21: error: no previous prototype for 'jensen_readl' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:250:21: error: no previous prototype for 'jensen_readq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:263:22: error: no previous prototype for 'jensen_writeb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:271:22: error: no previous prototype for 'jensen_writew' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:279:22: error: no previous prototype for 'jensen_writel' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:287:22: error: no previous prototype for 'jensen_writeq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:297:31: error: no previous prototype for 'jensen_ioportmap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:302:31: error: no previous prototype for 'jensen_ioremap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:308:21: error: no previous prototype for 'jensen_is_ioaddr' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:313:21: error: no previous prototype for 'jensen_is_mmio' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread16' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread32' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread64' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread8' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite16' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite32' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite64' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite8' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:348:33: error: no previous prototype for 'jensen_iounmap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:92:22: error: no previous prototype for 'jensen_set_hae' [-Werror=missing-prototypes]
> arch/alpha/kernel/bugs.c:19:9: error: no previous prototype for 'cpu_show_meltdown' [-Werror=missing-prototypes]
> arch/alpha/kernel/bugs.c:28:9: error: no previous prototype for 'cpu_show_spectre_v1' [-Werror=missing-prototypes]
> arch/alpha/kernel/bugs.c:37:9: error: no previous prototype for 'cpu_show_spectre_v2' [-Werror=missing-prototypes]
> arch/alpha/kernel/console.c:39:1: error: no previous prototype for 'locate_and_init_vga' [-Werror=missing-prototypes]
> arch/alpha/kernel/console.c:72:1: error: no previous prototype for 'find_console_vga_hose' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_cia.c:284:1: error: no previous prototype for 'cia_pci_tbi_try2' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_cia.c:580:1: error: no previous prototype for 'cia_save_srm_settings' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_cia.c:606:1: error: no previous prototype for 'cia_restore_srm_settings' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_lca.c:481:1: error: no previous prototype for 'lca_clock_print' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_lca.c:498:1: error: no previous prototype for 'lca_get_clock' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_lca.c:508:1: error: no previous prototype for 'lca_clock_fiddle' [-Werror=missing-prototypes]
> arch/alpha/kernel/io.c:654:1: error: no previous prototype for 'scr_memcpyw' [-Werror=missing-prototypes]
> arch/alpha/kernel/irq.c:96:1: error: no previous prototype for 'handle_irq' [-Werror=missing-prototypes]
> arch/alpha/kernel/irq_alpha.c:45:1: error: no previous prototype for 'do_entInt' [-Werror=missing-prototypes]
> arch/alpha/kernel/pci.c:285:1: error: no previous prototype for 'pcibios_claim_one_bus' [-Werror=missing-prototypes]
> arch/alpha/kernel/ptrace.c:322:26: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
> arch/alpha/kernel/ptrace.c:334:1: error: no previous prototype for 'syscall_trace_leave' [-Werror=missing-prototypes]
> arch/alpha/kernel/signal.c:205:1: error: no previous prototype for 'do_sigreturn' [-Werror=missing-prototypes]
> arch/alpha/kernel/signal.c:233:1: error: no previous prototype for 'do_rt_sigreturn' [-Werror=missing-prototypes]
> arch/alpha/kernel/signal.c:523:1: error: no previous prototype for 'do_work_pending' [-Werror=missing-prototypes]
> arch/alpha/kernel/smc37c669.c:2434:1: error: no previous prototype for 'SMC37c669_dump_registers' [-Werror=missing-prototypes]
> arch/alpha/kernel/smc37c669.c:2467:13: error: no previous prototype for 'SMC669_Init' [-Werror=missing-prototypes]
> arch/alpha/kernel/smc37c93x.c:238:12: error: no previous prototype for 'SMC93x_Init' [-Werror=missing-prototypes]
> arch/alpha/kernel/srmcons.c:272:1: error: no previous prototype for 'register_srm_console' [-Werror=missing-prototypes]
> arch/alpha/kernel/srmcons.c:282:1: error: no previous prototype for 'unregister_srm_console' [-Werror=missing-prototypes]
> arch/alpha/kernel/sys_nautilus.c:131:1: error: no previous prototype for 'nautilus_machine_check' [-Werror=missing-prototypes]
> arch/alpha/kernel/sys_nautilus.c:201:1: error: no previous prototype for 'nautilus_init_pci' [-Werror=missing-prototypes]
> arch/alpha/kernel/sys_nautilus.c:82:1: error: no previous prototype for 'nautilus_kill_arch' [-Werror=missing-prototypes]
> arch/alpha/kernel/sys_sio.c:312:1: error: no previous prototype for 'sio_kill_arch' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:210:1: error: no previous prototype for 'do_entArith' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:232:1: error: no previous prototype for 'do_entIF' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:399:1: error: no previous prototype for 'do_entDbg' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:435:1: error: no previous prototype for 'do_entUna' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:720:1: error: no previous prototype for 'do_entUnaUser' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:975:1: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:145:9: error: no previous prototype for 'ip_fast_csum' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:163:8: error: no previous prototype for 'csum_partial' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:180:9: error: no previous prototype for 'ip_compute_csum' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:45:9: error: no previous prototype for 'csum_tcpudp_magic' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:54:8: error: no previous prototype for 'csum_tcpudp_nofold' [-Werror=missing-prototypes]
> arch/alpha/lib/fpreg.c:129:1: error: no previous prototype for 'alpha_read_fp_reg_s' [-Werror=missing-prototypes]
> arch/alpha/lib/fpreg.c:186:1: error: no previous prototype for 'alpha_write_fp_reg_s' [-Werror=missing-prototypes]
> arch/alpha/lib/fpreg.c:20:1: error: no previous prototype for 'alpha_read_fp_reg' [-Werror=missing-prototypes]
> arch/alpha/lib/fpreg.c:75:1: error: no previous prototype for 'alpha_write_fp_reg' [-Werror=missing-prototypes]
> arch/alpha/lib/memcpy.c:153:8: error: no previous prototype for 'memcpy' [-Werror=missing-prototypes]
> arch/alpha/mm/fault.c:85:1: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/alpha/mm/init.c:261:1: error: no previous prototype for 'srm_paging_stop' [-Werror=missing-prototypes]
> arch/arc/kernel/ctx_sw.c:21:1: error: no previous prototype for '__switch_to' [-Werror=missing-prototypes]
> arch/arc/kernel/devtree.c:20:21: error: no previous prototype for 'arc_early_base_baud' [-Werror=missing-prototypes]
> arch/arc/kernel/irq.c:42:6: error: no previous prototype for 'arch_do_IRQ' [-Werror=missing-prototypes]
> arch/arc/kernel/kprobes.c:193:15: error: no previous prototype for 'arc_kprobe_handler' [-Werror=missing-prototypes]
> arch/arc/kernel/ptrace.c:344:16: error: no previous prototype for 'syscall_trace_entry' [-Werror=missing-prototypes]
> arch/arc/kernel/ptrace.c:358:17: error: no previous prototype for 'syscall_trace_exit' [-Werror=missing-prototypes]
> arch/arc/kernel/setup.c:498:13: error: no previous prototype for 'handle_uboot_args' [-Werror=missing-prototypes]
> arch/arc/kernel/signal.c:401:6: error: no previous prototype for 'do_signal' [-Werror=missing-prototypes]
> arch/arc/kernel/signal.c:434:6: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/arc/kernel/stacktrace.c:116:1: error: no previous prototype for 'arc_unwind_core' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:110:6: error: no previous prototype for 'do_non_swi_trap' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:141:6: error: no previous prototype for 'do_insterror_or_kprobe' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:68:48: error: no previous prototype for 'do_privilege_fault' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:69:44: error: no previous prototype for 'do_extension_fault' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:70:48: error: no previous prototype for 'insterror_is_error' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:71:52: error: no previous prototype for 'do_memory_error' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:72:42: error: no previous prototype for 'trap_is_brkpt' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:73:44: error: no previous prototype for 'do_misaligned_error' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:74:56: error: no previous prototype for 'do_trap5_error' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:79:5: error: no previous prototype for 'do_misaligned_access' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:93:6: error: no previous prototype for 'do_machine_check_fault' [-Werror=missing-prototypes]
> arch/arc/mm/cache.c:1085:22: error: no previous prototype for 'arc_ioc_setup' [-Werror=missing-prototypes]
> arch/arc/mm/cache.c:1147:13: error: no previous prototype for 'arc_cache_init_master' [-Werror=missing-prototypes]
> arch/arc/mm/cache.c:584:15: error: no previous prototype for 'slc_op_rgn' [-Werror=missing-prototypes]
> arch/arc/mm/cache.c:647:15: error: no previous prototype for 'slc_op_line' [-Werror=missing-prototypes]
> arch/arc/mm/fault.c:72:6: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/arc/mm/init.c:35:13: error: no previous prototype for 'arc_get_mem_sz' [-Werror=missing-prototypes]
> arch/arc/mm/init.c:83:13: error: no previous prototype for 'setup_arch_memory' [-Werror=missing-prototypes]
> arch/arc/mm/tlb.c:392:6: error: no previous prototype for 'create_tlb' [-Werror=missing-prototypes]
> arch/arc/mm/tlb.c:723:6: error: no previous prototype for 'do_tlb_overlap_fault' [-Werror=missing-prototypes]
> arch/csky/kernel/ptrace.c:320:16: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
> arch/csky/kernel/ptrace.c:336:17: error: no previous prototype for 'syscall_trace_exit' [-Werror=missing-prototypes]
> arch/csky/kernel/setup.c:116:34: error: no previous prototype for 'csky_start' [-Werror=missing-prototypes]
> arch/csky/kernel/signal.c:255:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:150:15: error: no previous prototype for 'do_trap_unknown' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:152:15: error: no previous prototype for 'do_trap_zdiv' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:154:15: error: no previous prototype for 'do_trap_buserr' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:157:17: error: no previous prototype for 'do_trap_misaligned' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:168:17: error: no previous prototype for 'do_trap_bkpt' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:187:17: error: no previous prototype for 'do_trap_illinsn' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:210:17: error: no previous prototype for 'do_trap_fpe' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:220:17: error: no previous prototype for 'do_trap_priv' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:230:17: error: no previous prototype for 'trap_c' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:57:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/csky/kernel/vdso/vgettimeofday.c:12:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
> arch/csky/kernel/vdso/vgettimeofday.c:18:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/csky/kernel/vdso/vgettimeofday.c:24:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/csky/kernel/vdso/vgettimeofday.c:6:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/csky/mm/fault.c:187:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/ia64/kernel/acpi.c:715:5: error: no previous prototype for 'acpi_map_cpu2node' [-Werror=missing-prototypes]
> arch/ia64/kernel/cyclone.c:18:13: error: no previous prototype for 'cyclone_setup' [-Werror=missing-prototypes]
> arch/ia64/kernel/cyclone.c:38:12: error: no previous prototype for 'init_cyclone_clock' [-Werror=missing-prototypes]
> arch/ia64/kernel/efi.c:971:1: error: no previous prototype for 'find_memmap_space' [-Werror=missing-prototypes]
> arch/ia64/kernel/elfcore.c:10:12: error: no previous prototype for 'elf_core_extra_phdrs' [-Werror=missing-prototypes]
> arch/ia64/kernel/elfcore.c:15:5: error: no previous prototype for 'elf_core_write_extra_phdrs' [-Werror=missing-prototypes]
> arch/ia64/kernel/elfcore.c:44:5: error: no previous prototype for 'elf_core_write_extra_data' [-Werror=missing-prototypes]
> arch/ia64/kernel/elfcore.c:63:8: error: no previous prototype for 'elf_core_extra_data_size' [-Werror=missing-prototypes]
> arch/ia64/kernel/iosapic.c:265:1: error: no previous prototype for 'kexec_disable_iosapic' [-Werror=missing-prototypes]
> arch/ia64/kernel/irq.c:128:6: error: no previous prototype for 'fixup_irqs' [-Werror=missing-prototypes]
> arch/ia64/kernel/irq_ia64.c:429:1: error: no previous prototype for 'ia64_handle_irq' [-Werror=missing-prototypes]
> arch/ia64/kernel/irq_ia64.c:512:6: error: no previous prototype for 'ia64_process_pending_intr' [-Werror=missing-prototypes]
> arch/ia64/kernel/irq_ia64.c:587:1: error: no previous prototype for 'register_percpu_irq' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca.c:1284:1: error: no previous prototype for 'ia64_mca_handler' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca.c:504:1: error: no previous prototype for 'search_mca_table' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca.c:607:1: error: no previous prototype for 'ia64_mca_register_cpev' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca_drv.c:156:1: error: no previous prototype for 'mca_handler_bh' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca_drv.c:768:12: error: no previous prototype for 'mca_external_handler_init' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca_drv.c:782:13: error: no previous prototype for 'mca_external_handler_exit' [-Werror=missing-prototypes]
> arch/ia64/kernel/module.c:245:1: error: no previous prototype for 'plt_target' [-Werror=missing-prototypes]
> arch/ia64/kernel/process.c:156:1: error: no previous prototype for 'console_print' [-Werror=missing-prototypes]
> arch/ia64/kernel/process.c:162:1: error: no previous prototype for 'do_notify_resume_user' [-Werror=missing-prototypes]
> arch/ia64/kernel/process.c:405:17: error: no previous prototype for 'ia64_clone' [-Werror=missing-prototypes]
> arch/ia64/kernel/process.c:559:1: error: no previous prototype for 'cpu_halt' [-Werror=missing-prototypes]
> arch/ia64/kernel/ptrace.c:1158:1: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
> arch/ia64/kernel/ptrace.c:1179:1: error: no previous prototype for 'syscall_trace_leave' [-Werror=missing-prototypes]
> arch/ia64/kernel/ptrace.c:1994:6: error: no previous prototype for 'syscall_get_arguments' [-Werror=missing-prototypes]
> arch/ia64/kernel/sal.c:43:29: error: cast between incompatible function types from 'long int (*)(void)' to 'struct ia64_sal_retval (*)(u64, ...)' {aka 'struct ia64_sal_retval (*)(long long unsigned int, ...)'} [-Werror=cast-function-type]
> arch/ia64/kernel/salinfo.c:212:1: error: no previous prototype for 'salinfo_log_wakeup' [-Werror=missing-prototypes]
> arch/ia64/kernel/signal.c:108:1: error: no previous prototype for 'ia64_rt_sigreturn' [-Werror=missing-prototypes]
> arch/ia64/kernel/smpboot.c:190:1: error: no previous prototype for 'sync_master' [-Werror=missing-prototypes]
> arch/ia64/kernel/smpboot.c:275:1: error: no previous prototype for 'ia64_sync_itc' [-Werror=missing-prototypes]
> arch/ia64/kernel/smpboot.c:435:1: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
> arch/ia64/kernel/smpboot.c:592:5: error: no previous prototype for 'migrate_platform_irqs' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:161:1: error: no previous prototype for 'ia64_mremap' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:171:1: error: no previous prototype for 'ia64_clock_getres' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:71:1: error: no previous prototype for 'ia64_getpriority' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:85:1: error: no previous prototype for 'sys_getpagesize' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:91:1: error: no previous prototype for 'ia64_brk' [-Werror=missing-prototypes]
> arch/ia64/kernel/time.c:260:6: error: no previous prototype for 'ia64_init_itm' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:101:11: error: no previous prototype for 'ia64_bad_break' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:35:1: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:387:1: error: no previous prototype for 'ia64_illegal_op_fault' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:416:1: error: no previous prototype for 'ia64_fault' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:43:1: error: no previous prototype for 'die' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:93:1: error: no previous prototype for 'die_if_kernel' [-Werror=missing-prototypes]
> arch/ia64/kernel/unaligned.c:1314:1: error: no previous prototype for 'ia64_handle_unaligned' [-Werror=missing-prototypes]
> arch/ia64/kernel/uncached.c:177:15: error: no previous prototype for 'uncached_alloc_page' [-Werror=missing-prototypes]
> arch/ia64/kernel/uncached.c:218:6: error: no previous prototype for 'uncached_free_page' [-Werror=missing-prototypes]
> arch/ia64/kernel/unwind.c:1449:59: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
> arch/ia64/kernel/unwind.c:2314:1: error: no previous prototype for 'sys_getunwind' [-Werror=missing-prototypes]
> arch/ia64/kernel/unwind.c:862:56: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
> arch/ia64/lib/checksum.c:38:1: error: no previous prototype for 'csum_tcpudp_magic' [-Werror=missing-prototypes]
> arch/ia64/lib/checksum.c:49:1: error: no previous prototype for 'csum_tcpudp_nofold' [-Werror=missing-prototypes]
> arch/ia64/lib/checksum.c:80:8: error: no previous prototype for 'csum_partial' [-Werror=missing-prototypes]
> arch/ia64/lib/checksum.c:97:9: error: no previous prototype for 'ip_compute_csum' [-Werror=missing-prototypes]
> arch/ia64/mm/discontig.c:631:6: error: no previous prototype for 'vmemmap_free' [-Werror=missing-prototypes]
> arch/ia64/mm/extable.c:15:1: error: no previous prototype for 'ia64_handle_exception' [-Werror=missing-prototypes]
> arch/ia64/mm/fault.c:66:1: error: no previous prototype for 'ia64_do_page_fault' [-Werror=missing-prototypes]
> arch/ia64/mm/init.c:161:1: error: no previous prototype for 'free_initrd_mem' [-Werror=missing-prototypes]
> arch/ia64/mm/init.c:309:6: error: no previous prototype for 'ia64_mmu_init' [-Werror=missing-prototypes]
> arch/ia64/mm/tlb.c:369:6: error: no previous prototype for 'ia64_tlb_init' [-Werror=missing-prototypes]
> arch/ia64/pci/pci.c:326:6: error: no previous prototype for 'pcibios_fixup_device_resources' [-Werror=missing-prototypes]
> arch/loongarch/kernel/acpi.c:284:13: error: no previous prototype for 'acpi_numa_arch_fixup' [-Werror=missing-prototypes]
> arch/loongarch/kernel/module-sections.c:103:5: error: no previous prototype for 'module_frob_arch_sections' [-Werror=missing-prototypes]
> arch/loongarch/kernel/process.c:316:15: error: no previous prototype for 'arch_align_stack' [-Werror=missing-prototypes]
> arch/loongarch/kernel/signal.c:1040:6: error: no previous prototype for 'arch_do_signal_or_restart' [-Werror=missing-prototypes]
> arch/loongarch/kernel/signal.c:894:14: error: no previous prototype for 'get_sigframe' [-Werror=missing-prototypes]
> arch/loongarch/kernel/signal.c:925:17: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
> arch/loongarch/kernel/smp.c:501:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
> arch/loongarch/kernel/smp.c:559:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
> arch/loongarch/kernel/syscall.c:40:14: error: no previous prototype for 'do_syscall' [-Werror=missing-prototypes]
> arch/loongarch/kernel/time.c:32:13: error: no previous prototype for 'constant_timer_interrupt' [-Werror=missing-prototypes]
> arch/loongarch/kernel/topology.c:13:5: error: no previous prototype for 'arch_register_cpu' [-Werror=missing-prototypes]
> arch/loongarch/kernel/topology.c:27:6: error: no previous prototype for 'arch_unregister_cpu' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:1012:25: error: no previous prototype for 'do_reserved' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:1031:17: error: no previous prototype for 'cache_parity_error' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:1040:25: error: no previous prototype for 'handle_loongarch_irq' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:1051:25: error: no previous prototype for 'do_vint' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:373:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:438:6: error: no previous prototype for 'force_fcsr_sig' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:457:5: error: no previous prototype for 'process_fpemu_return' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:492:25: error: no previous prototype for 'do_fpe' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:519:25: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:533:25: error: no previous prototype for 'do_ale' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:594:25: error: no previous prototype for 'do_bce' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:683:25: error: no previous prototype for 'do_bp' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:762:25: error: no previous prototype for 'do_watch' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:812:25: error: no previous prototype for 'do_ri' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:907:25: error: no previous prototype for 'do_fpu' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:924:25: error: no previous prototype for 'do_lsx' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:946:25: error: no previous prototype for 'do_lasx' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:981:25: error: no previous prototype for 'do_lbt' [-Werror=missing-prototypes]
> arch/loongarch/mm/fault.c:256:27: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/loongarch/mm/hugetlbpage.c:56:5: error: no previous prototype for 'is_aligned_hugepage_range' [-Werror=missing-prototypes]
> arch/loongarch/mm/ioremap.c:18:7: error: no previous prototype for 'early_memremap_ro' [-Werror=missing-prototypes]
> arch/loongarch/mm/ioremap.c:23:7: error: no previous prototype for 'early_memremap_prot' [-Werror=missing-prototypes]
> arch/loongarch/mm/tlb.c:264:6: error: no previous prototype for 'setup_tlb_handler' [-Werror=missing-prototypes]
> arch/m68k/amiga/amisound.c:48:13: error: no previous prototype for 'amiga_init_sound' [-Werror=missing-prototypes]
> arch/m68k/amiga/amisound.c:71:6: error: no previous prototype for 'amiga_mksound' [-Werror=missing-prototypes]
> arch/m68k/apollo/config.c:111:5: error: no previous prototype for 'dn_serial_console_wait_key' [-Werror=missing-prototypes]
> arch/m68k/apollo/config.c:118:6: error: no previous prototype for 'dn_serial_console_write' [-Werror=missing-prototypes]
> arch/m68k/apollo/config.c:132:6: error: no previous prototype for 'dn_serial_print' [-Werror=missing-prototypes]
> arch/m68k/apollo/config.c:240:6: error: no previous prototype for 'dn_dummy_waitbut' [-Werror=missing-prototypes]
> arch/m68k/apollo/dn_ints.c:19:6: error: no previous prototype for 'apollo_irq_shutdown' [-Werror=missing-prototypes]
> arch/m68k/apollo/dn_ints.c:29:6: error: no previous prototype for 'apollo_irq_eoi' [-Werror=missing-prototypes]
> arch/m68k/apollo/dn_ints.c:43:13: error: no previous prototype for 'dn_init_IRQ' [-Werror=missing-prototypes]
> arch/m68k/apollo/dn_ints.c:8:14: error: no previous prototype for 'apollo_irq_startup' [-Werror=missing-prototypes]
> arch/m68k/atari/ataints.c:267:13: error: no previous prototype for 'atari_init_IRQ' [-Werror=missing-prototypes]
> arch/m68k/atari/atakeyb.c:335:6: error: no previous prototype for 'ikbd_reset' [-Werror=missing-prototypes]
> arch/m68k/atari/atasound.c:36:6: error: no previous prototype for 'atari_microwire_cmd' [-Werror=missing-prototypes]
> arch/m68k/atari/atasound.c:53:6: error: no previous prototype for 'atari_mksound' [-Werror=missing-prototypes]
> arch/m68k/atari/config.c:883:12: error: no previous prototype for 'atari_platform_init' [-Werror=missing-prototypes]
> arch/m68k/atari/stram.c:118:12: error: no previous prototype for 'atari_stram_map_pages' [-Werror=missing-prototypes]
> arch/m68k/atari/time.c:140:5: error: no previous prototype for 'atari_mste_hwclk' [-Werror=missing-prototypes]
> arch/m68k/atari/time.c:199:5: error: no previous prototype for 'atari_tt_hwclk' [-Werror=missing-prototypes]
> arch/m68k/atari/time.c:59:1: error: no previous prototype for 'atari_sched_init' [-Werror=missing-prototypes]
> arch/m68k/bvme6000/config.c:133:13: error: no previous prototype for 'bvme6000_abort_int' [-Werror=missing-prototypes]
> arch/m68k/hp300/time.c:101:13: error: no previous prototype for 'hp300_sched_init' [-Werror=missing-prototypes]
> arch/m68k/kernel/ints.c:165:17: error: no previous prototype for 'handle_badint' [-Werror=missing-prototypes]
> arch/m68k/kernel/process.c:115:16: error: no previous prototype for 'm68k_clone' [-Werror=missing-prototypes]
> arch/m68k/kernel/process.c:136:16: error: no previous prototype for 'm68k_clone3' [-Werror=missing-prototypes]
> arch/m68k/kernel/ptrace.c:275:16: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
> arch/m68k/kernel/ptrace.c:288:17: error: no previous prototype for 'syscall_trace_leave' [-Werror=missing-prototypes]
> arch/m68k/kernel/signal.c:1112:6: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/m68k/kernel/signal.c:756:18: error: no previous prototype for 'do_sigreturn' [-Werror=missing-prototypes]
> arch/m68k/kernel/signal.c:783:18: error: no previous prototype for 'do_rt_sigreturn' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:378:1: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:40:17: error: no previous prototype for 'sys_mmap2' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:463:1: error: no previous prototype for 'sys_atomic_cmpxchg_32' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:564:16: error: no previous prototype for 'sys_getpagesize' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:569:26: error: no previous prototype for 'sys_get_thread_area' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:574:16: error: no previous prototype for 'sys_set_thread_area' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:580:16: error: no previous prototype for 'sys_atomic_barrier' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:1140:17: error: no previous prototype for 'set_esp0' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:1149:17: error: no previous prototype for 'fpsp040_die' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:1155:17: error: no previous prototype for 'fpemu_signal' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:754:17: error: no previous prototype for 'buserr_c' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:968:6: error: no previous prototype for 'bad_super_trap' [-Werror=missing-prototypes]
> arch/m68k/kernel/vectors.c:51:13: error: no previous prototype for 'base_trap_init' [-Werror=missing-prototypes]
> arch/m68k/kernel/vectors.c:74:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/m68k/lib/ashldi3.c:35:1: error: no previous prototype for '__ashldi3' [-Werror=missing-prototypes]
> arch/m68k/lib/ashrdi3.c:35:1: error: no previous prototype for '__ashrdi3' [-Werror=missing-prototypes]
> arch/m68k/lib/lshrdi3.c:35:1: error: no previous prototype for '__lshrdi3' [-Werror=missing-prototypes]
> arch/m68k/lib/muldi3.c:82:1: error: no previous prototype for '__muldi3' [-Werror=missing-prototypes]
> arch/m68k/mac/baboon.c:25:13: error: no previous prototype for 'baboon_init' [-Werror=missing-prototypes]
> arch/m68k/mac/config.c:961:12: error: no previous prototype for 'mac_platform_init' [-Werror=missing-prototypes]
> arch/m68k/mac/iop.c:235:13: error: no previous prototype for 'iop_init' [-Werror=missing-prototypes]
> arch/m68k/mac/macboing.c:164:6: error: no previous prototype for 'mac_mksound' [-Werror=missing-prototypes]
> arch/m68k/mac/misc.c:609:5: error: no previous prototype for 'mac_hwclk' [-Werror=missing-prototypes]
> arch/m68k/mac/oss.c:37:13: error: no previous prototype for 'oss_init' [-Werror=missing-prototypes]
> arch/m68k/mac/psc.c:76:13: error: no previous prototype for 'psc_init' [-Werror=missing-prototypes]
> arch/m68k/mac/via.c:111:13: error: no previous prototype for 'via_init' [-Werror=missing-prototypes]
> arch/m68k/mac/via.c:593:13: error: no previous prototype for 'via_init_clock' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_arith.c:310:1: error: no previous prototype for 'fp_fsglmul' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_arith.c:367:1: error: no previous prototype for 'fp_fsgldiv' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:102:1: error: no previous prototype for 'fp_fetoxm1' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:112:1: error: no previous prototype for 'fp_fetox' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:122:1: error: no previous prototype for 'fp_ftwotox' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:132:1: error: no previous prototype for 'fp_ftentox' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:142:1: error: no previous prototype for 'fp_flogn' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:152:1: error: no previous prototype for 'fp_flognp1' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:162:1: error: no previous prototype for 'fp_flog10' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:172:1: error: no previous prototype for 'fp_flog2' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:182:1: error: no previous prototype for 'fp_fgetexp' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:203:1: error: no previous prototype for 'fp_fgetman' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:29:1: error: no previous prototype for 'fp_fsqrt' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:102:1: error: no previous prototype for 'fp_ftanh' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:112:1: error: no previous prototype for 'fp_fatanh' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:122:1: error: no previous prototype for 'fp_fsincos0' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:130:1: error: no previous prototype for 'fp_fsincos1' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:138:1: error: no previous prototype for 'fp_fsincos2' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:146:1: error: no previous prototype for 'fp_fsincos3' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:154:1: error: no previous prototype for 'fp_fsincos4' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:162:1: error: no previous prototype for 'fp_fsincos5' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:170:1: error: no previous prototype for 'fp_fsincos6' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:178:1: error: no previous prototype for 'fp_fsincos7' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:22:1: error: no previous prototype for 'fp_fsin' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:32:1: error: no previous prototype for 'fp_fcos' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:42:1: error: no previous prototype for 'fp_ftan' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:52:1: error: no previous prototype for 'fp_fasin' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:62:1: error: no previous prototype for 'fp_facos' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:72:1: error: no previous prototype for 'fp_fatan' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:82:1: error: no previous prototype for 'fp_fsinh' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:92:1: error: no previous prototype for 'fp_fcosh' [-Werror=missing-prototypes]
> arch/m68k/mm/fault.c:22:5: error: no previous prototype for 'send_fault_sig' [-Werror=missing-prototypes]
> arch/m68k/mm/fault.c:68:5: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/m68k/mm/hwtest.c:29:5: error: no previous prototype for 'hwreg_present' [-Werror=missing-prototypes]
> arch/m68k/mm/hwtest.c:62:5: error: no previous prototype for 'hwreg_write' [-Werror=missing-prototypes]
> arch/m68k/mm/motorola.c:418:13: error: no previous prototype for 'paging_init' [-Werror=missing-prototypes]
> arch/m68k/mvme147/config.c:76:13: error: no previous prototype for 'mvme147_init_IRQ' [-Werror=missing-prototypes]
> arch/m68k/mvme16x/config.c:208:6: error: no previous prototype for 'mvme16x_cons_write' [-Werror=missing-prototypes]
> arch/m68k/q40/q40ints.c:112:6: error: no previous prototype for 'q40_mksound' [-Werror=missing-prototypes]
> arch/m68k/q40/q40ints.c:152:6: error: no previous prototype for 'q40_sched_init' [-Werror=missing-prototypes]
> arch/m68k/q40/q40ints.c:84:13: error: no previous prototype for 'q40_init_IRQ' [-Werror=missing-prototypes]
> arch/m68k/sun3/idprom.c:86:6: error: no previous prototype for 'sun3_get_model' [-Werror=missing-prototypes]
> arch/m68k/sun3x/config.c:29:6: error: no previous prototype for 'sun3_leds' [-Werror=missing-prototypes]
> arch/m68k/sun3x/config.c:42:13: error: no previous prototype for 'config_sun3x' [-Werror=missing-prototypes]
> arch/m68k/sun3x/dvma.c:179:6: error: no previous prototype for 'dvma_unmap_iommu' [-Werror=missing-prototypes]
> arch/m68k/sun3x/prom.c:33:6: error: no previous prototype for 'sun3x_halt' [-Werror=missing-prototypes]
> arch/microblaze/kernel/traps.c:21:6: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/mips/kernel/ftrace.c:305:6: error: no previous prototype for 'prepare_ftrace_return' [-Werror=missing-prototypes]
> arch/mips/kernel/jump_label.c:93:6: error: no previous prototype for 'jump_label_apply_nops' [-Werror=missing-prototypes]
> arch/mips/kernel/linux32.c:102:20: error: no previous prototype for 'sys32_readahead' [-Werror=missing-prototypes]
> arch/mips/kernel/linux32.c:108:17: error: no previous prototype for 'sys32_sync_file_range' [-Werror=missing-prototypes]
> arch/mips/kernel/linux32.c:118:17: error: no previous prototype for 'sys32_fadvise64_64' [-Werror=missing-prototypes]
> arch/mips/kernel/linux32.c:128:17: error: no previous prototype for 'sys32_fallocate' [-Werror=missing-prototypes]
> arch/mips/kernel/machine_kexec.c:136:1: error: no previous prototype for 'machine_shutdown' [-Werror=missing-prototypes]
> arch/mips/kernel/machine_kexec.c:152:1: error: no previous prototype for 'machine_crash_shutdown' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-cm.c:204:13: error: no previous prototype for '__mips_cm_l2sync_phys_base' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-mt-fpaff.c:157:17: error: no previous prototype for 'mipsmt_sys_sched_getaffinity' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-mt-fpaff.c:65:17: error: no previous prototype for 'mipsmt_sys_sched_setaffinity' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-mt.c:159:6: error: no previous prototype for 'mips_mt_set_cpuoptions' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-mt.c:50:6: error: no previous prototype for 'mips_mt_regdump' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:438:5: error: no previous prototype for 'setup_sigcontext' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:438:5: error: no previous prototype for 'setup_sigcontext' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:515:5: error: no previous prototype for 'restore_sigcontext' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:515:5: error: no previous prototype for 'restore_sigcontext' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:636:17: error: no previous prototype for 'sys_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:673:17: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:673:17: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:903:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:903:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/mips/kernel/signal32.c:33:16: error: no previous prototype for 'sys32_sigsuspend' [-Werror=missing-prototypes]
> arch/mips/kernel/signal_n32.c:53:17: error: no previous prototype for 'sysn32_rt_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal_o32.c:154:17: error: no previous prototype for 'sys32_rt_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal_o32.c:256:17: error: no previous prototype for 'sys32_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/smp.c:352:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
> arch/mips/kernel/smp.c:352:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
> arch/mips/kernel/smp.c:472:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
> arch/mips/kernel/smp.c:472:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
> arch/mips/kernel/spram.c:194:6: error: no previous prototype for 'spram_config' [-Werror=missing-prototypes]
> arch/mips/kernel/spram.c:194:6: error: no previous prototype for 'spram_config' [-Werror=missing-prototypes]
> arch/mips/kernel/syscall.c:51:16: error: no previous prototype for 'sysm_pipe' [-Werror=missing-prototypes]
> arch/mips/kernel/syscall.c:51:16: error: no previous prototype for 'sysm_pipe' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1027:17: error: no previous prototype for 'do_bp' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1027:17: error: no previous prototype for 'do_bp' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1114:17: error: no previous prototype for 'do_tr' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1114:17: error: no previous prototype for 'do_tr' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1151:17: error: no previous prototype for 'do_ri' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1151:17: error: no previous prototype for 'do_ri' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1402:17: error: no previous prototype for 'do_cpu' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1402:17: error: no previous prototype for 'do_cpu' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1507:17: error: no previous prototype for 'do_msa_fpe' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1507:17: error: no previous prototype for 'do_msa_fpe' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1527:17: error: no previous prototype for 'do_msa' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1527:17: error: no previous prototype for 'do_msa' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1548:17: error: no previous prototype for 'do_mdmx' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1548:17: error: no previous prototype for 'do_mdmx' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1560:17: error: no previous prototype for 'do_watch' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1560:17: error: no previous prototype for 'do_watch' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1587:17: error: no previous prototype for 'do_mcheck' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1587:17: error: no previous prototype for 'do_mcheck' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1612:17: error: no previous prototype for 'do_mt' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1612:17: error: no previous prototype for 'do_mt' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1648:17: error: no previous prototype for 'do_dsp' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1648:17: error: no previous prototype for 'do_dsp' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1656:17: error: no previous prototype for 'do_reserved' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1656:17: error: no previous prototype for 'do_reserved' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1832:17: error: no previous prototype for 'cache_parity_error' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1832:17: error: no previous prototype for 'cache_parity_error' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1880:17: error: no previous prototype for 'do_ftlb' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1880:17: error: no previous prototype for 'do_ftlb' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1909:17: error: no previous prototype for 'do_gsexc' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1909:17: error: no previous prototype for 'do_gsexc' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1944:6: error: no previous prototype for 'ejtag_exception_handler' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1944:6: error: no previous prototype for 'ejtag_exception_handler' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1989:17: error: no previous prototype for 'nmi_exception_handler' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1989:17: error: no previous prototype for 'nmi_exception_handler' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:370:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:370:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:447:17: error: no previous prototype for 'do_be' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:447:17: error: no previous prototype for 'do_be' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:752:17: error: no previous prototype for 'do_ov' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:752:17: error: no previous prototype for 'do_ov' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:874:17: error: no previous prototype for 'do_fpe' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:874:17: error: no previous prototype for 'do_fpe' [-Werror=missing-prototypes]
> arch/mips/kernel/unaligned.c:1516:17: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
> arch/mips/kernel/unaligned.c:1516:17: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
> arch/mips/kvm/loongson_ipi.c:190:6: error: no previous prototype for 'kvm_init_loongson_ipi' [-Werror=missing-prototypes]
> arch/mips/loongson64/dma.c:25:13: error: no previous prototype for 'plat_swiotlb_setup' [-Werror=missing-prototypes]
> arch/mips/loongson64/pm.c:59:13: error: no previous prototype for 'setup_wakeup_events' [-Werror=missing-prototypes]
> arch/mips/loongson64/pm.c:63:13: error: no previous prototype for 'mach_suspend' [-Werror=missing-prototypes]
> arch/mips/loongson64/pm.c:67:13: error: no previous prototype for 'mach_resume' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1588:6: error: no previous prototype for 'au1x00_fixup_config_od' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1588:6: error: no previous prototype for 'au1x00_fixup_config_od' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1703:6: error: no previous prototype for 'r4k_cache_init' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1703:6: error: no previous prototype for 'r4k_cache_init' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1831:12: error: no previous prototype for 'r4k_cache_init_pm' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1831:12: error: no previous prototype for 'r4k_cache_init_pm' [-Werror=missing-prototypes]
> arch/mips/mm/fault.c:323:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/mips/mm/fault.c:323:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/mips/mm/init.c:60:6: error: no previous prototype for 'setup_zero_pages' [-Werror=missing-prototypes]
> arch/mips/mm/pgtable-64.c:101:6: error: no previous prototype for 'set_pmd_at' [-Werror=missing-prototypes]
> arch/mips/mm/pgtable-64.c:92:7: error: no previous prototype for 'mk_pmd' [-Werror=missing-prototypes]
> arch/mips/mm/sc-mips.c:255:5: error: no previous prototype for 'mips_sc_init' [-Werror=missing-prototypes]
> arch/mips/mm/tlb-r4k.c:461:12: error: no previous prototype for 'add_temporary_entry' [-Werror=missing-prototypes]
> arch/mips/mm/tlb-r4k.c:553:6: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
> arch/mips/mm/tlb-r4k.c:553:6: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
> arch/mips/mm/tlbex.c:2547:6: error: no previous prototype for 'build_tlb_refill_handler' [-Werror=missing-prototypes]
> arch/mips/mm/tlbex.c:2547:6: error: no previous prototype for 'build_tlb_refill_handler' [-Werror=missing-prototypes]
> arch/mips/mm/uasm.c:421:5: error: no previous prototype for 'uasm_in_compat_space_p' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:50:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:64:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:72:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/nios2/kernel/irq.c:19:17: error: no previous prototype for 'do_IRQ' [-Werror=missing-prototypes]
> arch/nios2/kernel/misaligned.c:66:17: error: no previous prototype for 'handle_unaligned_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:152:6: error: no previous prototype for 'dump' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:253:16: error: no previous prototype for 'nios2_clone' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:34:6: error: no previous prototype for 'arch_cpu_idle' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:43:6: error: no previous prototype for 'machine_restart' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:54:6: error: no previous prototype for 'machine_halt' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:66:6: error: no previous prototype for 'machine_power_off' [-Werror=missing-prototypes]
> arch/nios2/kernel/setup.c:107:24: error: no previous prototype for 'nios2_boot_init' [-Werror=missing-prototypes]
> arch/nios2/kernel/signal.c:101:16: error: no previous prototype for 'do_rt_sigreturn' [-Werror=missing-prototypes]
> arch/nios2/kernel/signal.c:302:16: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/nios2/kernel/sys_nios2.c:21:16: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
> arch/nios2/kernel/sys_nios2.c:57:16: error: no previous prototype for 'sys_getpagesize' [-Werror=missing-prototypes]
> arch/nios2/kernel/time.c:200:13: error: no previous prototype for 'timer_interrupt' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:109:17: error: no previous prototype for 'breakpoint_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:147:17: error: no previous prototype for 'handle_illegal_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:154:17: error: no previous prototype for 'handle_supervisor_instr' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:161:17: error: no previous prototype for 'handle_diverror_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:168:17: error: no previous prototype for 'unhandled_exception' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:183:17: error: no previous prototype for 'handle_trap_1_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:188:17: error: no previous prototype for 'handle_trap_2_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:193:17: error: no previous prototype for 'handle_trap_3_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:32:6: error: no previous prototype for 'die' [-Werror=missing-prototypes]
> arch/nios2/lib/memcpy.c:160:7: error: no previous prototype for 'memcpy' [-Werror=missing-prototypes]
> arch/nios2/lib/memcpy.c:194:7: error: no previous prototype for 'memcpyb' [-Werror=missing-prototypes]
> arch/nios2/mm/dma-mapping.c:21:6: error: no previous prototype for 'arch_sync_dma_for_device' [-Werror=missing-prototypes]
> arch/nios2/mm/dma-mapping.c:45:6: error: no previous prototype for 'arch_sync_dma_for_cpu' [-Werror=missing-prototypes]
> arch/nios2/mm/dma-mapping.c:63:6: error: no previous prototype for 'arch_dma_prep_coherent' [-Werror=missing-prototypes]
> arch/nios2/mm/dma-mapping.c:70:7: error: no previous prototype for 'arch_dma_set_uncached' [-Werror=missing-prototypes]
> arch/nios2/mm/fault.c:43:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/nios2/mm/pgtable.c:53:8: error: no previous prototype for 'pgd_alloc' [-Werror=missing-prototypes]
> arch/nios2/mm/pgtable.c:68:13: error: no previous prototype for 'pagetable_init' [-Werror=missing-prototypes]
> arch/nios2/mm/tlb.c:167:6: error: no previous prototype for 'dump_tlb_line' [-Werror=missing-prototypes]
> arch/nios2/mm/tlb.c:208:6: error: no previous prototype for 'dump_tlb' [-Werror=missing-prototypes]
> arch/nios2/mm/tlb.c:216:6: error: no previous prototype for 'flush_tlb_pid' [-Werror=missing-prototypes]
> arch/openrisc/kernel/process.c:100:6: error: no previous prototype for 'arch_cpu_idle' [-Werror=missing-prototypes]
> arch/openrisc/kernel/process.c:240:21: error: no previous prototype for '__switch_to' [-Werror=missing-prototypes]
> arch/openrisc/kernel/ptrace.c:191:17: error: no previous prototype for 'do_syscall_trace_enter' [-Werror=missing-prototypes]
> arch/openrisc/kernel/ptrace.c:210:17: error: no previous prototype for 'do_syscall_trace_leave' [-Werror=missing-prototypes]
> arch/openrisc/kernel/signal.c:227:5: error: no previous prototype for 'do_signal' [-Werror=missing-prototypes]
> arch/openrisc/kernel/signal.c:293:1: error: no previous prototype for 'do_work_pending' [-Werror=missing-prototypes]
> arch/openrisc/kernel/signal.c:68:17: error: no previous prototype for '_sys_rt_sigreturn' [-Werror=missing-prototypes]
> arch/openrisc/kernel/time.c:111:25: error: no previous prototype for 'timer_interrupt' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:146:6: error: no previous prototype for 'nommu_dump_state' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:221:17: error: no previous prototype for 'die' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:239:17: error: no previous prototype for 'unhandled_exception' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:246:17: error: no previous prototype for 'do_fpe_trap' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:268:17: error: no previous prototype for 'do_trap' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:273:17: error: no previous prototype for 'do_unaligned_access' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:286:17: error: no previous prototype for 'do_bus_fault' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:462:17: error: no previous prototype for 'do_illegal_instruction' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:67:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
> arch/openrisc/mm/fault.c:44:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/openrisc/mm/tlb.c:188:13: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
> arch/parisc/lib/ucmpdi2.c:12:5: error: no previous prototype for '__ucmpdi2' [-Werror=missing-prototypes]
> arch/sh/kernel/cpu/init.c:99:29: error: no previous prototype for 'l2_cache_init' [-Werror=missing-prototypes]
> arch/sh/kernel/cpu/init.c:99:29: error: no previous prototype for 'l2_cache_init' [-Werror=missing-prototypes]
> arch/sh/kernel/cpu/sh4/fpu.c:389:6: error: no previous prototype for 'float_raise' [-Werror=missing-prototypes]
> arch/sh/kernel/cpu/sh4/fpu.c:394:5: error: no previous prototype for 'float_rounding_mode' [-Werror=missing-prototypes]
> arch/sh/kernel/hw_breakpoint.c:135:5: error: no previous prototype for 'arch_bp_generic_fields' [-Werror=missing-prototypes]
> arch/sh/kernel/hw_breakpoint.c:135:5: error: no previous prototype for 'arch_bp_generic_fields' [-Werror=missing-prototypes]
> arch/sh/kernel/return_address.c:49:7: error: no previous prototype for 'return_address' [-Werror=missing-prototypes]
> arch/sh/kernel/return_address.c:49:7: error: no previous prototype for 'return_address' [-Werror=missing-prototypes]
> arch/sh/kernel/sys_sh.c:58:16: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
> arch/sh/kernel/sys_sh.c:58:16: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
> arch/sh/kernel/traps_32.c:735:6: error: no previous prototype for 'per_cpu_trap_init' [-Werror=missing-prototypes]
> arch/sh/kernel/traps_32.c:735:6: error: no previous prototype for 'per_cpu_trap_init' [-Werror=missing-prototypes]
> arch/sh/mm/cache-sh2.c:85:13: error: no previous prototype for 'sh2_cache_init' [-Werror=missing-prototypes]
> arch/sh/mm/cache-sh4.c:384:13: error: no previous prototype for 'sh4_cache_init' [-Werror=missing-prototypes]
> arch/sh/mm/fault.c:389:27: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/sh/mm/flush-sh4.c:106:13: error: no previous prototype for 'sh4__flush_region_init' [-Werror=missing-prototypes]
> arch/sh/mm/nommu.c:76:13: error: no previous prototype for 'kmap_coherent_init' [-Werror=missing-prototypes]
> arch/sh/mm/nommu.c:80:7: error: no previous prototype for 'kmap_coherent' [-Werror=missing-prototypes]
> arch/sh/mm/nommu.c:86:6: error: no previous prototype for 'kunmap_coherent' [-Werror=missing-prototypes]
> arch/sh/mm/pgtable.c:10:6: error: no previous prototype for 'pgd_ctor' [-Werror=missing-prototypes]
> arch/sh/mm/pgtable.c:32:8: error: no previous prototype for 'pgd_alloc' [-Werror=missing-prototypes]
> arch/sh/mm/pgtable.c:37:6: error: no previous prototype for 'pgd_free' [-Werror=missing-prototypes]
> arch/sh/mm/tlbex_32.c:22:1: error: no previous prototype for 'handle_tlbmiss' [-Werror=missing-prototypes]
> arch/sparc/kernel/adi_64.c:124:21: error: no previous prototype for 'find_tag_store' [-Werror=missing-prototypes]
> arch/sparc/kernel/adi_64.c:156:21: error: no previous prototype for 'alloc_tag_store' [-Werror=missing-prototypes]
> arch/sparc/kernel/adi_64.c:299:6: error: no previous prototype for 'del_tag_store' [-Werror=missing-prototypes]
> arch/sparc/kernel/pci_sun4v.c:258:15: error: no previous prototype for 'dma_4v_iotsb_bind' [-Werror=missing-prototypes]
> arch/sparc/kernel/setup_64.c:615:13: error: no previous prototype for 'alloc_irqstack_bootmem' [-Werror=missing-prototypes]
> arch/sparc/kernel/time_64.c:880:20: error: no previous prototype for 'sched_clock' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_32.c:366:6: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_64.c:2034:6: error: no previous prototype for 'do_mcd_err' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_64.c:2152:6: error: no previous prototype for 'sun4v_nonresum_error_user_handled' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_64.c:252:6: error: no previous prototype for 'is_no_fault_exception' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_64.c:2839:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/sparc/kernel/uprobes.c:237:17: error: no previous prototype for 'uprobe_trap' [-Werror=missing-prototypes]
> arch/sparc/lib/cmpdi2.c:6:11: error: no previous prototype for '__cmpdi2' [-Werror=missing-prototypes]
> arch/sparc/lib/ucmpdi2.c:5:11: error: no previous prototype for '__ucmpdi2' [-Werror=missing-prototypes]
> arch/sparc/mm/init_64.c:2644:6: error: no previous prototype for 'vmemmap_free' [-Werror=missing-prototypes]
> arch/sparc/prom/misc_64.c:165:5: error: no previous prototype for 'prom_get_mmu_ihandle' [-Werror=missing-prototypes]
> arch/sparc/prom/p1275.c:52:6: error: no previous prototype for 'prom_cif_init' [-Werror=missing-prototypes]
> arch/sparc/vdso/vclock_gettime.c:254:1: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/sparc/vdso/vclock_gettime.c:282:1: error: no previous prototype for '__vdso_clock_gettime_stick' [-Werror=missing-prototypes]
> arch/sparc/vdso/vclock_gettime.c:307:1: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/sparc/vdso/vclock_gettime.c:343:1: error: no previous prototype for '__vdso_gettimeofday_stick' [-Werror=missing-prototypes]
> arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: error: no previous prototype for '__vdso_clock_gettime_stick' [-Werror=missing-prototypes]
> arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: error: no previous prototype for '__vdso_gettimeofday_stick' [-Werror=missing-prototypes]
> arch/sparc/vdso/vma.c:246:12: error: no previous prototype for 'init_vdso_image' [-Werror=missing-prototypes]
> arch/xtensa/kernel/irq.c:34:17: error: no previous prototype for 'do_IRQ' [-Werror=missing-prototypes]
> arch/xtensa/kernel/ptrace.c:545:5: error: no previous prototype for 'do_syscall_trace_enter' [-Werror=missing-prototypes]
> arch/xtensa/kernel/setup.c:244:13: error: no previous prototype for 'init_arch' [-Werror=missing-prototypes]
> arch/xtensa/kernel/signal.c:246:17: error: no previous prototype for 'xtensa_rt_sigreturn' [-Werror=missing-prototypes]
> arch/xtensa/kernel/signal.c:525:6: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/xtensa/kernel/stacktrace.c:263:15: error: no previous prototype for 'return_address' [-Werror=missing-prototypes]
> arch/xtensa/kernel/traps.c:484:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/xtensa/mm/fault.c:87:6: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/xtensa/platforms/iss/network.c:204:16: error: no previous prototype for 'tuntap_protocol' [-Werror=missing-prototypes]
> arch/xtensa/platforms/iss/network.c:444:6: error: no previous prototype for 'iss_net_user_timer_expire' [-Werror=missing-prototypes]
> 
> 
> Cc: Matt Turner <mattst88@gmail.com>
> Cc: Vineet Gupta <vgupta@kernel.org>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>
> Cc: Guo Ren <guoren@kernel.org>
> Cc: Brian Cain <bcain@quicinc.com>
> Cc: Huacai Chen <chenhuacai@kernel.org>
> Cc: WANG Xuerui <kernel@xen0n.name>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Michal Simek <monstr@monstr.eu>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: Dinh Nguyen <dinguyen@kernel.org>
> Cc: Jonas Bonn <jonas@southpole.se>
> Cc: Stafford Horne <shorne@gmail.com>
> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
> Cc: Helge Deller <deller@gmx.de>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
> Cc: Palmer Dabbelt <palmer@dabbelt.com>
> Cc: Heiko Carstens <hca@linux.ibm.com>
> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
> Cc: x86@kernel.org
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Nathan Chancellor <nathan@kernel.org>
> Cc: Nick Desaulniers <ndesaulniers@google.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
> Cc: linux-next@vger.kernel.org
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-alpha@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-snps-arc@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-csky@vger.kernel.org
> Cc: linux-hexagon@vger.kernel.org
> Cc: linux-ia64@vger.kernel.org
> Cc: loongarch@lists.linux.dev
> Cc: linux-m68k@lists.linux-m68k.org
> Cc: linux-mips@vger.kernel.org
> Cc: linux-openrisc@vger.kernel.org
> Cc: sparclinux@vger.kernel.org
> ---
>   arch/alpha/Kbuild                  |  2 ++
>   arch/alpha/lib/Makefile            |  1 +
>   arch/arc/Kbuild                    |  2 ++
>   arch/csky/Kbuild                   |  2 ++
>   arch/hexagon/Kbuild                |  2 ++
>   arch/ia64/Kbuild                   |  2 ++
>   arch/ia64/lib/Makefile             |  1 +
>   arch/loongarch/Kbuild              |  2 ++
>   arch/m68k/Kbuild                   |  2 ++
>   arch/m68k/lib/Makefile             |  1 +
>   arch/microblaze/Kbuild             |  2 ++
>   arch/mips/Kbuild                   |  2 ++
>   arch/mips/boot/compressed/Makefile |  3 ++-
>   arch/nios2/Kbuild                  |  2 ++
>   arch/nios2/lib/Makefile            |  1 +
>   arch/openrisc/Kbuild               |  2 ++
>   arch/parisc/Kbuild                 |  2 ++
>   arch/parisc/lib/Makefile           |  1 +
>   arch/sh/Kbuild                     |  2 ++
>   arch/sh/boot/compressed/Makefile   |  1 +
>   arch/sparc/Kbuild                  |  2 ++
>   arch/sparc/lib/Makefile            |  1 +
>   arch/sparc/prom/Makefile           |  1 +
>   arch/xtensa/Kbuild                 |  2 ++
>   arch/xtensa/boot/lib/Makefile      |  2 ++
>   init/Kconfig                       | 10 ++++++++++
>   26 files changed, 52 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/alpha/Kbuild b/arch/alpha/Kbuild
> index 345d79df24bb9..283cb9d5b022c 100644
> --- a/arch/alpha/Kbuild
> +++ b/arch/alpha/Kbuild
> @@ -4,3 +4,5 @@ obj-$(CONFIG_MATHEMU)	+= math-emu/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/alpha/lib/Makefile b/arch/alpha/lib/Makefile
> index 1cc74f7b50efb..09e0be65caa93 100644
> --- a/arch/alpha/lib/Makefile
> +++ b/arch/alpha/lib/Makefile
> @@ -5,6 +5,7 @@
>   
>   asflags-y := $(KBUILD_CFLAGS)
>   ccflags-y := -Werror
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>   
>   # Many of these routines have implementations tuned for ev6.
>   # Choose them iff we're targeting ev6 specifically.
> diff --git a/arch/arc/Kbuild b/arch/arc/Kbuild
> index b94102fff68b4..9bc728209f747 100644
> --- a/arch/arc/Kbuild
> +++ b/arch/arc/Kbuild
> @@ -4,3 +4,5 @@ obj-y += mm/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/csky/Kbuild b/arch/csky/Kbuild
> index 0621eaea41962..1d4322ebc95e5 100644
> --- a/arch/csky/Kbuild
> +++ b/arch/csky/Kbuild
> @@ -4,3 +4,5 @@ obj-y += kernel/ mm/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/hexagon/Kbuild b/arch/hexagon/Kbuild
> index 8421baba13518..9aceffc706d4a 100644
> --- a/arch/hexagon/Kbuild
> +++ b/arch/hexagon/Kbuild
> @@ -1,2 +1,4 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   obj-y += kernel/ mm/ lib/
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/ia64/Kbuild b/arch/ia64/Kbuild
> index e77cc76d228cd..69e3c2dadde0e 100644
> --- a/arch/ia64/Kbuild
> +++ b/arch/ia64/Kbuild
> @@ -1,3 +1,5 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   obj-y				+= kernel/ mm/
>   obj-$(CONFIG_IA64_SGI_UV)	+= uv/
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/ia64/lib/Makefile b/arch/ia64/lib/Makefile
> index 081fcba01dc0c..03999c9f19bb3 100644
> --- a/arch/ia64/lib/Makefile
> +++ b/arch/ia64/lib/Makefile
> @@ -2,6 +2,7 @@
>   #
>   # Makefile for ia64-specific library routines..
>   #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>   
>   lib-y := io.o __divsi3.o __udivsi3.o __modsi3.o __umodsi3.o		\
>   	__divdi3.o __udivdi3.o __moddi3.o __umoddi3.o			\
> diff --git a/arch/loongarch/Kbuild b/arch/loongarch/Kbuild
> index b01f5cdb27e03..f3b89e5f79050 100644
> --- a/arch/loongarch/Kbuild
> +++ b/arch/loongarch/Kbuild
> @@ -5,3 +5,5 @@ obj-y += vdso/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/m68k/Kbuild b/arch/m68k/Kbuild
> index 7762af9f6defe..b2abbf427e8f2 100644
> --- a/arch/m68k/Kbuild
> +++ b/arch/m68k/Kbuild
> @@ -18,3 +18,5 @@ obj-$(CONFIG_M68KFPU_EMU)	+= math-emu/
>   obj-$(CONFIG_M68000)		+= 68000/
>   obj-$(CONFIG_COLDFIRE)		+= coldfire/
>   obj-$(CONFIG_VIRT)		+= virt/
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/m68k/lib/Makefile b/arch/m68k/lib/Makefile
> index eca17f14b4d5e..3aea84ffa0db2 100644
> --- a/arch/m68k/lib/Makefile
> +++ b/arch/m68k/lib/Makefile
> @@ -3,6 +3,7 @@
>   #
>   # Makefile for m68k-specific library files..
>   #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>   
>   lib-y	:= ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \
>   	   memcpy.o memset.o memmove.o
> diff --git a/arch/microblaze/Kbuild b/arch/microblaze/Kbuild
> index 077a0b8e96157..b2799946ae01d 100644
> --- a/arch/microblaze/Kbuild
> +++ b/arch/microblaze/Kbuild
> @@ -6,3 +6,5 @@ obj-y			+= boot/dts/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/mips/Kbuild b/arch/mips/Kbuild
> index af2967bffb73d..484cfda563b68 100644
> --- a/arch/mips/Kbuild
> +++ b/arch/mips/Kbuild
> @@ -28,3 +28,5 @@ endif
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
> index 6cc28173bee89..58be7966d839f 100644
> --- a/arch/mips/boot/compressed/Makefile
> +++ b/arch/mips/boot/compressed/Makefile
> @@ -11,9 +11,10 @@
>   # Copyright (C) 2009 Lemote Inc. & DSLab, Lanzhou University
>   # Author: Wu Zhangjin <wuzhangjin@gmail.com>
>   #
> -
>   include $(srctree)/arch/mips/Kbuild.platforms
>   
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> +
>   # set the default size of the mallocing area for decompressing
>   BOOT_HEAP_SIZE := 0x400000
>   
> diff --git a/arch/nios2/Kbuild b/arch/nios2/Kbuild
> index fc2952edd2dec..5f79d266fd4ef 100644
> --- a/arch/nios2/Kbuild
> +++ b/arch/nios2/Kbuild
> @@ -4,3 +4,5 @@ obj-y += kernel/ mm/ platform/ boot/dts/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/nios2/lib/Makefile b/arch/nios2/lib/Makefile
> index 9d5bf1df520c1..9acc5a98760fa 100644
> --- a/arch/nios2/lib/Makefile
> +++ b/arch/nios2/lib/Makefile
> @@ -2,6 +2,7 @@
>   #
>   # Makefile for Nios2-specific library files.
>   #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>   
>   lib-y += delay.o
>   lib-y += memcpy.o
> diff --git a/arch/openrisc/Kbuild b/arch/openrisc/Kbuild
> index b0b0f2b03f872..ba60f445bf429 100644
> --- a/arch/openrisc/Kbuild
> +++ b/arch/openrisc/Kbuild
> @@ -4,3 +4,5 @@ obj-y += boot/dts/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/parisc/Kbuild b/arch/parisc/Kbuild
> index a6d3b280ba0c2..b825fb5cf9226 100644
> --- a/arch/parisc/Kbuild
> +++ b/arch/parisc/Kbuild
> @@ -3,3 +3,5 @@ obj-y	+= mm/ kernel/ math-emu/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/parisc/lib/Makefile b/arch/parisc/lib/Makefile
> index 7b197667faf6c..348a286ab68fe 100644
> --- a/arch/parisc/lib/Makefile
> +++ b/arch/parisc/lib/Makefile
> @@ -2,6 +2,7 @@
>   #
>   # Makefile for parisc-specific library files
>   #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>   
>   lib-y	:= lusercopy.o bitops.o checksum.o io.o memset.o memcpy.o \
>   	   ucmpdi2.o delay.o
> diff --git a/arch/sh/Kbuild b/arch/sh/Kbuild
> index 056efec72c2a0..df2cf06eea5f6 100644
> --- a/arch/sh/Kbuild
> +++ b/arch/sh/Kbuild
> @@ -7,3 +7,5 @@ obj-$(CONFIG_HD6446X_SERIES)	+= cchips/hd6446x/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile
> index b5e29f99c02c8..25000003c94eb 100644
> --- a/arch/sh/boot/compressed/Makefile
> +++ b/arch/sh/boot/compressed/Makefile
> @@ -4,6 +4,7 @@
>   #
>   # create a compressed vmlinux image from the original vmlinux
>   #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>   
>   OBJECTS := head_32.o misc.o cache.o piggy.o \
>              ashiftrt.o ashldi3.o ashrsi3.o ashlsi3.o lshrsi3.o
> diff --git a/arch/sparc/Kbuild b/arch/sparc/Kbuild
> index 71cb3d934bf6c..320a4092b334e 100644
> --- a/arch/sparc/Kbuild
> +++ b/arch/sparc/Kbuild
> @@ -12,3 +12,5 @@ obj-$(CONFIG_SPARC64) += vdso/
>   
>   # for cleaning
>   subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefile
> index 063556fe2cb1d..2a5cba8e68dfd 100644
> --- a/arch/sparc/lib/Makefile
> +++ b/arch/sparc/lib/Makefile
> @@ -4,6 +4,7 @@
>   
>   asflags-y := -ansi -DST_DIV0=0x02
>   ccflags-y := -Werror
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>   
>   lib-$(CONFIG_SPARC32) += ashrdi3.o
>   lib-$(CONFIG_SPARC32) += memcpy.o memset.o
> diff --git a/arch/sparc/prom/Makefile b/arch/sparc/prom/Makefile
> index 397b79af77f7b..0a82ebb014130 100644
> --- a/arch/sparc/prom/Makefile
> +++ b/arch/sparc/prom/Makefile
> @@ -4,6 +4,7 @@
>   #
>   asflags := -ansi
>   ccflags := -Werror
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>   
>   lib-y                 := bootstr_$(BITS).o
>   lib-y                 += init_$(BITS).o
> diff --git a/arch/xtensa/Kbuild b/arch/xtensa/Kbuild
> index fd12f61745bad..f01d1ca727b97 100644
> --- a/arch/xtensa/Kbuild
> +++ b/arch/xtensa/Kbuild
> @@ -1,2 +1,4 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   obj-y += kernel/ mm/ platforms/ boot/dts/
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/xtensa/boot/lib/Makefile b/arch/xtensa/boot/lib/Makefile
> index 0378a22a08e33..a9f1c1e139389 100644
> --- a/arch/xtensa/boot/lib/Makefile
> +++ b/arch/xtensa/boot/lib/Makefile
> @@ -8,6 +8,8 @@ zlib	:= inffast.c inflate.c inftrees.c
>   lib-y	+= $(zlib:.c=.o) zmem.o
>   
>   ccflags-y	:= -I $(srctree)/lib/zlib_inflate
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> +
>   ifdef CONFIG_FUNCTION_TRACER
>   CFLAGS_REMOVE_inflate.o = -pg
>   CFLAGS_REMOVE_zmem.o = -pg
> diff --git a/init/Kconfig b/init/Kconfig
> index 639e8a3363c30..80cd67c0d7fa4 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -170,6 +170,16 @@ config WERROR
>   
>   	  If in doubt, say Y.
>   
> +config WNO_MISSING_PROTOTYPES
> +	bool "Hide -Wmissing-prototype warnings in arch code"
> +	default WERROR || !COMPILE_TEST
> +	help
> +	  Some architectures have not yet eliminated all warnings for
> +	  missing prototypes in their core code and will produce a lot
> +	  of output for these. Ideally these should all be addresszed
> +	  by individual bugfix patches, but in the meantime saying 'y'
> +	  will skip that output.
> +
>   config UAPI_HEADER_TEST
>   	bool "Compile test UAPI headers"
>   	depends on HEADERS_INSTALL && CC_CAN_LINK

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 09/17] parport: gsc: mark init function static
  2023-08-10 14:19 ` [PATCH 09/17] parport: gsc: mark init function static Arnd Bergmann
@ 2023-08-10 15:13   ` Helge Deller
  2023-08-28 10:04   ` Sudip Mukherjee
  1 sibling, 0 replies; 52+ messages in thread
From: Helge Deller @ 2023-08-10 15:13 UTC (permalink / raw)
  To: Arnd Bergmann, Andrew Morton, linux-kernel, James E.J. Bottomley,
	Sudip Mukherjee
  Cc: Arnd Bergmann, linux-parisc

On 8/10/23 16:19, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> This is only used locally, so mark it static to avoid a warning:
>
> drivers/parport/parport_gsc.c:395:5: error: no previous prototype for 'parport_gsc_init' [-Werror=missing-prototypes]
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Helge Deller <deller@gmx.de>


^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally
  2023-08-10 14:59   ` Christophe Leroy
@ 2023-08-10 15:21     ` Arnd Bergmann
  2023-08-10 15:59       ` Helge Deller
  0 siblings, 1 reply; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 15:21 UTC (permalink / raw)
  To: Christophe Leroy, Arnd Bergmann, Andrew Morton, linux-kernel
  Cc: Matt Turner, Vineet Gupta, Russell King, Catalin Marinas,
	Will Deacon, guoren, Brian Cain, Huacai Chen, WANG Xuerui,
	Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer,
	Dinh Nguyen, Jonas Bonn, Stafford Horne, James E . J . Bottomley,
	Helge Deller, Michael Ellerman, Palmer Dabbelt, Heiko Carstens,
	John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Nathan Chancellor, Nick Desaulniers, Guenter Roeck,
	Stephen Rothwell, linux-next, linux-alpha, linux-snps-arc,
	linux-arm-kernel, linux-csky, linux-hexagon, linux-ia64,
	loongarch, linux-m68k, linux-mips, linux-openrisc, sparclinux,
	Richard Henderson, Ivan Kokshaysky, Stefan Kristiansson,
	Yoshinori Sato, Rich Felker, David S . Miller, Chris Zankel,
	Max Filippov, Christian Brauner, Paul Walmsley, Albert Ou,
	Youling Tang, Tiezhu Yang, Masahiro Yamada, Randy Dunlap,
	Masami Hiramatsu, Paul E. McKenney, Miguel Ojeda, Zhen Lei,
	Xin Li, Nhat Pham, Greg Kroah-Hartman,
	Marc Aurèle La France, Johannes Weiner, linux-parisc,
	linux-sh, linux-riscv

On Thu, Aug 10, 2023, at 16:59, Christophe Leroy wrote:
> Le 10/08/2023 à 16:19, Arnd Bergmann a écrit :
>> From: Arnd Bergmann <arnd@arndb.de>
>> 
>> I have cleaned up the -Wmissing-prototypes warnings for most of the major architectures
>> as well as all drivers that get enabled for CONFIG_COMPILE_TEST, so now these should be
>> close to fixed on x86, arm, arm64, powerpc, s390, and riscv.
>> 
>> The other architectures tend to have a lot of these warning in architecture specific
>> code, primarily from functions that are only called from assembler code and do
>> not otherwise need a declaration but still cause a warning without one. Other cases
>> are simply functions that should just be static or are missing an #include statement.
>> 
>> In order to be able to turn the warning on globally by default without breaking all
>> these architectures, add a list of exceptions for architecture directories that
>> can revert back to the old behavior of not warning based on a new
>> CONFIG_WNO_MISSING_PROTOTYPES option.
>
> Some architectures only have a few of those errors/warnings.
>
> For instance microblaze and parisc only have one each. Isn't it better 
> to fix them rather then turn the errors off ?

The list was only the 'defconfig' warnings, there are a couple more
that I saw with 'allmodconfig', and I'm sure there are even more
when dealing with other random configurations.

I did send other fixes for microblaze and parisc specific drivers,
and I could also send patches for the two defconfig warnings if
the maintainers are happy with fixing those but leaving allmodconfig
to still warn, but I feel that it's easier for them to just
do the last fixes themselves and then remove my hack again.

I'll wait for Michal and Helge on these.

> Others like loongarch which is a recent actively maintained 
> architecture, I'd expect the 30 errors to be easy to fix.

Agreed, they probably are.

> Many of the alpha ones seems to be brought by your commit e19d4ebc536d 
> ("alpha: add full ioread64/iowrite64 implementation")

As far as I can see, those already existing before that patch, though
I did touch the same lines there.

In the end it's a matter of where to stop, as there are endless
configurations to test if I want to do a complete job. I drew the
line between powerpc (which I tried to fix) and mips (which I left
alone), mainly because the powerpc side was already exhausting
and mips has even more obscure configurations. The other ones on
the list are all less actively maintained than these two.

     Arnd

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally
  2023-08-10 15:21     ` Arnd Bergmann
@ 2023-08-10 15:59       ` Helge Deller
  2023-08-10 19:15         ` Arnd Bergmann
  0 siblings, 1 reply; 52+ messages in thread
From: Helge Deller @ 2023-08-10 15:59 UTC (permalink / raw)
  To: Arnd Bergmann, Christophe Leroy, Arnd Bergmann, Andrew Morton,
	linux-kernel
  Cc: Matt Turner, Vineet Gupta, Russell King, Catalin Marinas,
	Will Deacon, guoren, Brian Cain, Huacai Chen, WANG Xuerui,
	Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer,
	Dinh Nguyen, Jonas Bonn, Stafford Horne, James E . J . Bottomley,
	Michael Ellerman, Palmer Dabbelt, Heiko Carstens,
	John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Nathan Chancellor, Nick Desaulniers, Guenter Roeck,
	Stephen Rothwell, linux-next, linux-alpha, linux-snps-arc,
	linux-arm-kernel, linux-csky, linux-hexagon, linux-ia64,
	loongarch, linux-m68k, linux-mips, linux-openrisc, sparclinux,
	Richard Henderson, Ivan Kokshaysky, Stefan Kristiansson,
	Yoshinori Sato, Rich Felker, David S . Miller, Chris Zankel,
	Max Filippov, Christian Brauner, Paul Walmsley, Albert Ou,
	Youling Tang, Tiezhu Yang, Masahiro Yamada, Randy Dunlap,
	Masami Hiramatsu, Paul E. McKenney, Miguel Ojeda, Zhen Lei,
	Xin Li, Nhat Pham, Greg Kroah-Hartman,
	Marc Aurèle La France, Johannes Weiner, linux-parisc,
	linux-sh, linux-riscv

On 8/10/23 17:21, Arnd Bergmann wrote:
> On Thu, Aug 10, 2023, at 16:59, Christophe Leroy wrote:
>> Le 10/08/2023 à 16:19, Arnd Bergmann a écrit :
>>> From: Arnd Bergmann <arnd@arndb.de>
>>>
>>> I have cleaned up the -Wmissing-prototypes warnings for most of the major architectures
>>> as well as all drivers that get enabled for CONFIG_COMPILE_TEST, so now these should be
>>> close to fixed on x86, arm, arm64, powerpc, s390, and riscv.
>>>
>>> The other architectures tend to have a lot of these warning in architecture specific
>>> code, primarily from functions that are only called from assembler code and do
>>> not otherwise need a declaration but still cause a warning without one. Other cases
>>> are simply functions that should just be static or are missing an #include statement.
>>>
>>> In order to be able to turn the warning on globally by default without breaking all
>>> these architectures, add a list of exceptions for architecture directories that
>>> can revert back to the old behavior of not warning based on a new
>>> CONFIG_WNO_MISSING_PROTOTYPES option.
>>
>> Some architectures only have a few of those errors/warnings.
>>
>> For instance microblaze and parisc only have one each. Isn't it better
>> to fix them rather then turn the errors off ?
>
> The list was only the 'defconfig' warnings, there are a couple more
> that I saw with 'allmodconfig', and I'm sure there are even more
> when dealing with other random configurations.
>
> I did send other fixes for microblaze and parisc specific drivers,
> and I could also send patches for the two defconfig warnings if
> the maintainers are happy with fixing those but leaving allmodconfig
> to still warn, but I feel that it's easier for them to just
> do the last fixes themselves and then remove my hack again.
>
> I'll wait for Michal and Helge on these.

Arnd, I like your patch!
For parisc I've done quite some work during the last few weeks to
get such warnings sqeezed out, so please drop the hunk for parisc from
your patch. My plan is to become warning-free before 6.5-final.

This last one:
     arch/parisc/lib/ucmpdi2.c:12:5: error: no previous prototype for '__ucmpdi2' [-Werror=missing-prototypes]
I'll take care in the parisc for-next tree.

Thanks!
Helge

>> Others like loongarch which is a recent actively maintained
>> architecture, I'd expect the 30 errors to be easy to fix.
>
> Agreed, they probably are.
>
>> Many of the alpha ones seems to be brought by your commit e19d4ebc536d
>> ("alpha: add full ioread64/iowrite64 implementation")
>
> As far as I can see, those already existing before that patch, though
> I did touch the same lines there.
>
> In the end it's a matter of where to stop, as there are endless
> configurations to test if I want to do a complete job. I drew the
> line between powerpc (which I tried to fix) and mips (which I left
> alone), mainly because the powerpc side was already exhausting
> and mips has even more obscure configurations. The other ones on
> the list are all less actively maintained than these two.
>
>       Arnd


^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 06/17] macintosh/ams: mark ams_init() static
  2023-08-10 14:19 ` [PATCH 06/17] macintosh/ams: mark ams_init() static Arnd Bergmann
@ 2023-08-10 17:21   ` Christophe Leroy
  0 siblings, 0 replies; 52+ messages in thread
From: Christophe Leroy @ 2023-08-10 17:21 UTC (permalink / raw)
  To: Arnd Bergmann, Andrew Morton, linux-kernel; +Cc: linuxppc-dev, Arnd Bergmann



Le 10/08/2023 à 16:19, Arnd Bergmann a écrit :
> From: Arnd Bergmann <arnd@arndb.de>
> 
> This is the module init function, which by definition is used only
> locally, so mark it static to avoid a warning:
> 
> drivers/macintosh/ams/ams-core.c:179:12: error: no previous prototype for 'ams_init' [-Werror=missing-prototypes]
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   drivers/macintosh/ams/ams-core.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/macintosh/ams/ams-core.c b/drivers/macintosh/ams/ams-core.c
> index 877e8cb231283..c978b4272daa5 100644
> --- a/drivers/macintosh/ams/ams-core.c
> +++ b/drivers/macintosh/ams/ams-core.c
> @@ -176,7 +176,7 @@ int ams_sensor_attach(void)
>   	return result;
>   }
>   
> -int __init ams_init(void)
> +static int __init ams_init(void)
>   {
>   	struct device_node *np;
>   

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 17/17] [RFC] Makefile.extrawarn: turn on missing-prototypes again
  2023-08-10 14:19 ` [PATCH 17/17] [RFC] Makefile.extrawarn: turn on missing-prototypes again Arnd Bergmann
@ 2023-08-10 19:02   ` Kees Cook
  0 siblings, 0 replies; 52+ messages in thread
From: Kees Cook @ 2023-08-10 19:02 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Masahiro Yamada, Arnd Bergmann,
	Nathan Chancellor, Nick Desaulniers, Nicolas Schier,
	Sami Tolvanen, linux-kbuild

On Thu, Aug 10, 2023 at 04:19:35PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> Over the years we went from > 1000 of warnings to under 100 earlier
> this year, and I sent patches to address all the ones that I saw with
> compile testing randcom configs on arm64, arm and x86 kernels. This is a
> really useful warning, as it catches real bugs when there are mismatched
> prototypes. In particular with kernel control flow integrity enabled,
> those are no longer allowed.
> 
> Move the options out of the W=1 section to have them enabled by
> default.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> I'm sure there are still regressions with CONFIG_WERROR when this gets
> turned on, but it's getting very close, so it might be best to already
> enable this in linux-next but wait one extra merge window to have it in
> mainline while the last fixes trickle in.
> ---

Thanks for chasing all of these down!

Reviewed-by: Kees Cook <keescook@chromium.org>

-Kees

-- 
Kees Cook

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally
  2023-08-10 15:59       ` Helge Deller
@ 2023-08-10 19:15         ` Arnd Bergmann
  0 siblings, 0 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-10 19:15 UTC (permalink / raw)
  To: Helge Deller, Christophe Leroy, Arnd Bergmann, Andrew Morton,
	linux-kernel
  Cc: Matt Turner, Vineet Gupta, Russell King, Catalin Marinas,
	Will Deacon, guoren, Brian Cain, Huacai Chen, WANG Xuerui,
	Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer,
	Dinh Nguyen, Jonas Bonn, Stafford Horne, James E . J . Bottomley,
	Michael Ellerman, Palmer Dabbelt, Heiko Carstens,
	John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Nathan Chancellor, Nick Desaulniers, Guenter Roeck,
	Stephen Rothwell, linux-next, linux-alpha, linux-snps-arc,
	linux-arm-kernel, linux-csky, linux-hexagon, linux-ia64,
	loongarch, linux-m68k, linux-mips, linux-openrisc, sparclinux,
	Richard Henderson, Ivan Kokshaysky, Stefan Kristiansson,
	Yoshinori Sato, Rich Felker, David S . Miller, Chris Zankel,
	Max Filippov, Christian Brauner, Paul Walmsley, Albert Ou,
	Youling Tang, Tiezhu Yang, Masahiro Yamada, Randy Dunlap,
	Masami Hiramatsu, Paul E. McKenney, Miguel Ojeda, Zhen Lei,
	Xin Li, Nhat Pham, Greg Kroah-Hartman,
	Marc Aurèle La France, Johannes Weiner, linux-parisc,
	linux-sh, linux-riscv

On Thu, Aug 10, 2023, at 17:59, Helge Deller wrote:
> On 8/10/23 17:21, Arnd Bergmann wrote:
>> On Thu, Aug 10, 2023, at 16:59, Christophe Leroy wrote:
>>
>> I did send other fixes for microblaze and parisc specific drivers,
>> and I could also send patches for the two defconfig warnings if
>> the maintainers are happy with fixing those but leaving allmodconfig
>> to still warn, but I feel that it's easier for them to just
>> do the last fixes themselves and then remove my hack again.
>>
>> I'll wait for Michal and Helge on these.
>
> Arnd, I like your patch!
> For parisc I've done quite some work during the last few weeks to
> get such warnings sqeezed out, so please drop the hunk for parisc from
> your patch. My plan is to become warning-free before 6.5-final.
>
> This last one:
>      arch/parisc/lib/ucmpdi2.c:12:5: error: no previous prototype for 
> '__ucmpdi2' [-Werror=missing-prototypes]
> I'll take care in the parisc for-next tree.

Sounds good to me, thanks!

     Arnd

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally
  2023-08-10 14:19 ` [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally Arnd Bergmann
  2023-08-10 14:59   ` Christophe Leroy
@ 2023-08-11  2:33   ` Guo Ren
  2023-08-11 18:25     ` Vineet Gupta
  2023-08-11 20:09   ` Stafford Horne
  2 siblings, 1 reply; 52+ messages in thread
From: Guo Ren @ 2023-08-11  2:33 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Arnd Bergmann, Matt Turner,
	Vineet Gupta, Russell King, Catalin Marinas, Will Deacon,
	Brian Cain, Huacai Chen, WANG Xuerui, Geert Uytterhoeven,
	Michal Simek, Thomas Bogendoerfer, Dinh Nguyen, Jonas Bonn,
	Stafford Horne, James E.J. Bottomley, Helge Deller,
	Michael Ellerman, Christophe Leroy, Palmer Dabbelt,
	Heiko Carstens, John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Nathan Chancellor, Nick Desaulniers, Guenter Roeck,
	Stephen Rothwell, linux-next, linux-alpha, linux-snps-arc,
	linux-arm-kernel, linux-csky, linux-hexagon, linux-ia64,
	loongarch, linux-m68k, linux-mips, linux-openrisc, sparclinux,
	Richard Henderson, Ivan Kokshaysky, Stefan Kristiansson,
	Yoshinori Sato, Rich Felker, David S. Miller, Chris Zankel,
	Max Filippov, Christian Brauner, Paul Walmsley, Albert Ou,
	Youling Tang, Tiezhu Yang, Masahiro Yamada, Randy Dunlap,
	Masami Hiramatsu (Google),
	Paul E. McKenney, Miguel Ojeda, Zhen Lei, Xin Li, Nhat Pham,
	Greg Kroah-Hartman, Marc Aurèle La France, Johannes Weiner,
	linux-parisc, linux-sh, linux-riscv

Thx, Arnd, I will clean them up for the csky part.

On Thu, Aug 10, 2023 at 10:24 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> I have cleaned up the -Wmissing-prototypes warnings for most of the major architectures
> as well as all drivers that get enabled for CONFIG_COMPILE_TEST, so now these should be
> close to fixed on x86, arm, arm64, powerpc, s390, and riscv.
>
> The other architectures tend to have a lot of these warning in architecture specific
> code, primarily from functions that are only called from assembler code and do
> not otherwise need a declaration but still cause a warning without one. Other cases
> are simply functions that should just be static or are missing an #include statement.
>
> In order to be able to turn the warning on globally by default without breaking all
> these architectures, add a list of exceptions for architecture directories that
> can revert back to the old behavior of not warning based on a new
> CONFIG_WNO_MISSING_PROTOTYPES option.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> Below is the full list of warnings I see in defconfig builds for reference, these
> do not need to be part of the changelog.
>
> arch/alpha/include/asm/core_t2.h:465:20: error: no previous prototype for 't2_readb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:476:21: error: no previous prototype for 't2_readw' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:491:21: error: no previous prototype for 't2_readl' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:502:21: error: no previous prototype for 't2_readq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:515:22: error: no previous prototype for 't2_writeb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:526:22: error: no previous prototype for 't2_writew' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:541:22: error: no previous prototype for 't2_writel' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:550:22: error: no previous prototype for 't2_writeq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:562:31: error: no previous prototype for 't2_ioportmap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:567:31: error: no previous prototype for 't2_ioremap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:573:21: error: no previous prototype for 't2_is_ioaddr' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:578:21: error: no previous prototype for 't2_is_mmio' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread16' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread32' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread64' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:587:23: error: no previous prototype for 't2_ioread8' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite16' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite32' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite64' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:594:22: error: no previous prototype for 't2_iowrite8' [-Werror=missing-prototypes]
> arch/alpha/include/asm/core_t2.h:614:33: error: no previous prototype for 't2_iounmap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:115:30: error: no previous prototype for 'jensen_local_inb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:120:22: error: no previous prototype for 'jensen_local_outb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:126:30: error: no previous prototype for 'jensen_bus_inb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:135:22: error: no previous prototype for 'jensen_bus_outb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:155:20: error: no previous prototype for 'jensen_inb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:163:22: error: no previous prototype for 'jensen_outb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:171:21: error: no previous prototype for 'jensen_inw' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:181:21: error: no previous prototype for 'jensen_inl' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:187:21: error: no previous prototype for 'jensen_inq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:193:22: error: no previous prototype for 'jensen_outw' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:200:22: error: no previous prototype for 'jensen_outl' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:207:22: error: no previous prototype for 'jensen_outq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:218:20: error: no previous prototype for 'jensen_readb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:230:21: error: no previous prototype for 'jensen_readw' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:242:21: error: no previous prototype for 'jensen_readl' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:250:21: error: no previous prototype for 'jensen_readq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:263:22: error: no previous prototype for 'jensen_writeb' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:271:22: error: no previous prototype for 'jensen_writew' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:279:22: error: no previous prototype for 'jensen_writel' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:287:22: error: no previous prototype for 'jensen_writeq' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:297:31: error: no previous prototype for 'jensen_ioportmap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:302:31: error: no previous prototype for 'jensen_ioremap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:308:21: error: no previous prototype for 'jensen_is_ioaddr' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:313:21: error: no previous prototype for 'jensen_is_mmio' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread16' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread32' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread64' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:322:23: error: no previous prototype for 'jensen_ioread8' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite16' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite32' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite64' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:329:22: error: no previous prototype for 'jensen_iowrite8' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:348:33: error: no previous prototype for 'jensen_iounmap' [-Werror=missing-prototypes]
> arch/alpha/include/asm/jensen.h:92:22: error: no previous prototype for 'jensen_set_hae' [-Werror=missing-prototypes]
> arch/alpha/kernel/bugs.c:19:9: error: no previous prototype for 'cpu_show_meltdown' [-Werror=missing-prototypes]
> arch/alpha/kernel/bugs.c:28:9: error: no previous prototype for 'cpu_show_spectre_v1' [-Werror=missing-prototypes]
> arch/alpha/kernel/bugs.c:37:9: error: no previous prototype for 'cpu_show_spectre_v2' [-Werror=missing-prototypes]
> arch/alpha/kernel/console.c:39:1: error: no previous prototype for 'locate_and_init_vga' [-Werror=missing-prototypes]
> arch/alpha/kernel/console.c:72:1: error: no previous prototype for 'find_console_vga_hose' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_cia.c:284:1: error: no previous prototype for 'cia_pci_tbi_try2' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_cia.c:580:1: error: no previous prototype for 'cia_save_srm_settings' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_cia.c:606:1: error: no previous prototype for 'cia_restore_srm_settings' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_lca.c:481:1: error: no previous prototype for 'lca_clock_print' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_lca.c:498:1: error: no previous prototype for 'lca_get_clock' [-Werror=missing-prototypes]
> arch/alpha/kernel/core_lca.c:508:1: error: no previous prototype for 'lca_clock_fiddle' [-Werror=missing-prototypes]
> arch/alpha/kernel/io.c:654:1: error: no previous prototype for 'scr_memcpyw' [-Werror=missing-prototypes]
> arch/alpha/kernel/irq.c:96:1: error: no previous prototype for 'handle_irq' [-Werror=missing-prototypes]
> arch/alpha/kernel/irq_alpha.c:45:1: error: no previous prototype for 'do_entInt' [-Werror=missing-prototypes]
> arch/alpha/kernel/pci.c:285:1: error: no previous prototype for 'pcibios_claim_one_bus' [-Werror=missing-prototypes]
> arch/alpha/kernel/ptrace.c:322:26: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
> arch/alpha/kernel/ptrace.c:334:1: error: no previous prototype for 'syscall_trace_leave' [-Werror=missing-prototypes]
> arch/alpha/kernel/signal.c:205:1: error: no previous prototype for 'do_sigreturn' [-Werror=missing-prototypes]
> arch/alpha/kernel/signal.c:233:1: error: no previous prototype for 'do_rt_sigreturn' [-Werror=missing-prototypes]
> arch/alpha/kernel/signal.c:523:1: error: no previous prototype for 'do_work_pending' [-Werror=missing-prototypes]
> arch/alpha/kernel/smc37c669.c:2434:1: error: no previous prototype for 'SMC37c669_dump_registers' [-Werror=missing-prototypes]
> arch/alpha/kernel/smc37c669.c:2467:13: error: no previous prototype for 'SMC669_Init' [-Werror=missing-prototypes]
> arch/alpha/kernel/smc37c93x.c:238:12: error: no previous prototype for 'SMC93x_Init' [-Werror=missing-prototypes]
> arch/alpha/kernel/srmcons.c:272:1: error: no previous prototype for 'register_srm_console' [-Werror=missing-prototypes]
> arch/alpha/kernel/srmcons.c:282:1: error: no previous prototype for 'unregister_srm_console' [-Werror=missing-prototypes]
> arch/alpha/kernel/sys_nautilus.c:131:1: error: no previous prototype for 'nautilus_machine_check' [-Werror=missing-prototypes]
> arch/alpha/kernel/sys_nautilus.c:201:1: error: no previous prototype for 'nautilus_init_pci' [-Werror=missing-prototypes]
> arch/alpha/kernel/sys_nautilus.c:82:1: error: no previous prototype for 'nautilus_kill_arch' [-Werror=missing-prototypes]
> arch/alpha/kernel/sys_sio.c:312:1: error: no previous prototype for 'sio_kill_arch' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:210:1: error: no previous prototype for 'do_entArith' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:232:1: error: no previous prototype for 'do_entIF' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:399:1: error: no previous prototype for 'do_entDbg' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:435:1: error: no previous prototype for 'do_entUna' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:720:1: error: no previous prototype for 'do_entUnaUser' [-Werror=missing-prototypes]
> arch/alpha/kernel/traps.c:975:1: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:145:9: error: no previous prototype for 'ip_fast_csum' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:163:8: error: no previous prototype for 'csum_partial' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:180:9: error: no previous prototype for 'ip_compute_csum' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:45:9: error: no previous prototype for 'csum_tcpudp_magic' [-Werror=missing-prototypes]
> arch/alpha/lib/checksum.c:54:8: error: no previous prototype for 'csum_tcpudp_nofold' [-Werror=missing-prototypes]
> arch/alpha/lib/fpreg.c:129:1: error: no previous prototype for 'alpha_read_fp_reg_s' [-Werror=missing-prototypes]
> arch/alpha/lib/fpreg.c:186:1: error: no previous prototype for 'alpha_write_fp_reg_s' [-Werror=missing-prototypes]
> arch/alpha/lib/fpreg.c:20:1: error: no previous prototype for 'alpha_read_fp_reg' [-Werror=missing-prototypes]
> arch/alpha/lib/fpreg.c:75:1: error: no previous prototype for 'alpha_write_fp_reg' [-Werror=missing-prototypes]
> arch/alpha/lib/memcpy.c:153:8: error: no previous prototype for 'memcpy' [-Werror=missing-prototypes]
> arch/alpha/mm/fault.c:85:1: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/alpha/mm/init.c:261:1: error: no previous prototype for 'srm_paging_stop' [-Werror=missing-prototypes]
> arch/arc/kernel/ctx_sw.c:21:1: error: no previous prototype for '__switch_to' [-Werror=missing-prototypes]
> arch/arc/kernel/devtree.c:20:21: error: no previous prototype for 'arc_early_base_baud' [-Werror=missing-prototypes]
> arch/arc/kernel/irq.c:42:6: error: no previous prototype for 'arch_do_IRQ' [-Werror=missing-prototypes]
> arch/arc/kernel/kprobes.c:193:15: error: no previous prototype for 'arc_kprobe_handler' [-Werror=missing-prototypes]
> arch/arc/kernel/ptrace.c:344:16: error: no previous prototype for 'syscall_trace_entry' [-Werror=missing-prototypes]
> arch/arc/kernel/ptrace.c:358:17: error: no previous prototype for 'syscall_trace_exit' [-Werror=missing-prototypes]
> arch/arc/kernel/setup.c:498:13: error: no previous prototype for 'handle_uboot_args' [-Werror=missing-prototypes]
> arch/arc/kernel/signal.c:401:6: error: no previous prototype for 'do_signal' [-Werror=missing-prototypes]
> arch/arc/kernel/signal.c:434:6: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/arc/kernel/stacktrace.c:116:1: error: no previous prototype for 'arc_unwind_core' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:110:6: error: no previous prototype for 'do_non_swi_trap' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:141:6: error: no previous prototype for 'do_insterror_or_kprobe' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:68:48: error: no previous prototype for 'do_privilege_fault' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:69:44: error: no previous prototype for 'do_extension_fault' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:70:48: error: no previous prototype for 'insterror_is_error' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:71:52: error: no previous prototype for 'do_memory_error' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:72:42: error: no previous prototype for 'trap_is_brkpt' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:73:44: error: no previous prototype for 'do_misaligned_error' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:74:56: error: no previous prototype for 'do_trap5_error' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:79:5: error: no previous prototype for 'do_misaligned_access' [-Werror=missing-prototypes]
> arch/arc/kernel/traps.c:93:6: error: no previous prototype for 'do_machine_check_fault' [-Werror=missing-prototypes]
> arch/arc/mm/cache.c:1085:22: error: no previous prototype for 'arc_ioc_setup' [-Werror=missing-prototypes]
> arch/arc/mm/cache.c:1147:13: error: no previous prototype for 'arc_cache_init_master' [-Werror=missing-prototypes]
> arch/arc/mm/cache.c:584:15: error: no previous prototype for 'slc_op_rgn' [-Werror=missing-prototypes]
> arch/arc/mm/cache.c:647:15: error: no previous prototype for 'slc_op_line' [-Werror=missing-prototypes]
> arch/arc/mm/fault.c:72:6: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/arc/mm/init.c:35:13: error: no previous prototype for 'arc_get_mem_sz' [-Werror=missing-prototypes]
> arch/arc/mm/init.c:83:13: error: no previous prototype for 'setup_arch_memory' [-Werror=missing-prototypes]
> arch/arc/mm/tlb.c:392:6: error: no previous prototype for 'create_tlb' [-Werror=missing-prototypes]
> arch/arc/mm/tlb.c:723:6: error: no previous prototype for 'do_tlb_overlap_fault' [-Werror=missing-prototypes]
> arch/csky/kernel/ptrace.c:320:16: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
> arch/csky/kernel/ptrace.c:336:17: error: no previous prototype for 'syscall_trace_exit' [-Werror=missing-prototypes]
> arch/csky/kernel/setup.c:116:34: error: no previous prototype for 'csky_start' [-Werror=missing-prototypes]
> arch/csky/kernel/signal.c:255:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:150:15: error: no previous prototype for 'do_trap_unknown' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:152:15: error: no previous prototype for 'do_trap_zdiv' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:154:15: error: no previous prototype for 'do_trap_buserr' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:157:17: error: no previous prototype for 'do_trap_misaligned' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:168:17: error: no previous prototype for 'do_trap_bkpt' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:187:17: error: no previous prototype for 'do_trap_illinsn' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:210:17: error: no previous prototype for 'do_trap_fpe' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:220:17: error: no previous prototype for 'do_trap_priv' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:230:17: error: no previous prototype for 'trap_c' [-Werror=missing-prototypes]
> arch/csky/kernel/traps.c:57:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/csky/kernel/vdso/vgettimeofday.c:12:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
> arch/csky/kernel/vdso/vgettimeofday.c:18:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/csky/kernel/vdso/vgettimeofday.c:24:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/csky/kernel/vdso/vgettimeofday.c:6:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/csky/mm/fault.c:187:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/ia64/kernel/acpi.c:715:5: error: no previous prototype for 'acpi_map_cpu2node' [-Werror=missing-prototypes]
> arch/ia64/kernel/cyclone.c:18:13: error: no previous prototype for 'cyclone_setup' [-Werror=missing-prototypes]
> arch/ia64/kernel/cyclone.c:38:12: error: no previous prototype for 'init_cyclone_clock' [-Werror=missing-prototypes]
> arch/ia64/kernel/efi.c:971:1: error: no previous prototype for 'find_memmap_space' [-Werror=missing-prototypes]
> arch/ia64/kernel/elfcore.c:10:12: error: no previous prototype for 'elf_core_extra_phdrs' [-Werror=missing-prototypes]
> arch/ia64/kernel/elfcore.c:15:5: error: no previous prototype for 'elf_core_write_extra_phdrs' [-Werror=missing-prototypes]
> arch/ia64/kernel/elfcore.c:44:5: error: no previous prototype for 'elf_core_write_extra_data' [-Werror=missing-prototypes]
> arch/ia64/kernel/elfcore.c:63:8: error: no previous prototype for 'elf_core_extra_data_size' [-Werror=missing-prototypes]
> arch/ia64/kernel/iosapic.c:265:1: error: no previous prototype for 'kexec_disable_iosapic' [-Werror=missing-prototypes]
> arch/ia64/kernel/irq.c:128:6: error: no previous prototype for 'fixup_irqs' [-Werror=missing-prototypes]
> arch/ia64/kernel/irq_ia64.c:429:1: error: no previous prototype for 'ia64_handle_irq' [-Werror=missing-prototypes]
> arch/ia64/kernel/irq_ia64.c:512:6: error: no previous prototype for 'ia64_process_pending_intr' [-Werror=missing-prototypes]
> arch/ia64/kernel/irq_ia64.c:587:1: error: no previous prototype for 'register_percpu_irq' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca.c:1284:1: error: no previous prototype for 'ia64_mca_handler' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca.c:504:1: error: no previous prototype for 'search_mca_table' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca.c:607:1: error: no previous prototype for 'ia64_mca_register_cpev' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca_drv.c:156:1: error: no previous prototype for 'mca_handler_bh' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca_drv.c:768:12: error: no previous prototype for 'mca_external_handler_init' [-Werror=missing-prototypes]
> arch/ia64/kernel/mca_drv.c:782:13: error: no previous prototype for 'mca_external_handler_exit' [-Werror=missing-prototypes]
> arch/ia64/kernel/module.c:245:1: error: no previous prototype for 'plt_target' [-Werror=missing-prototypes]
> arch/ia64/kernel/process.c:156:1: error: no previous prototype for 'console_print' [-Werror=missing-prototypes]
> arch/ia64/kernel/process.c:162:1: error: no previous prototype for 'do_notify_resume_user' [-Werror=missing-prototypes]
> arch/ia64/kernel/process.c:405:17: error: no previous prototype for 'ia64_clone' [-Werror=missing-prototypes]
> arch/ia64/kernel/process.c:559:1: error: no previous prototype for 'cpu_halt' [-Werror=missing-prototypes]
> arch/ia64/kernel/ptrace.c:1158:1: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
> arch/ia64/kernel/ptrace.c:1179:1: error: no previous prototype for 'syscall_trace_leave' [-Werror=missing-prototypes]
> arch/ia64/kernel/ptrace.c:1994:6: error: no previous prototype for 'syscall_get_arguments' [-Werror=missing-prototypes]
> arch/ia64/kernel/sal.c:43:29: error: cast between incompatible function types from 'long int (*)(void)' to 'struct ia64_sal_retval (*)(u64, ...)' {aka 'struct ia64_sal_retval (*)(long long unsigned int, ...)'} [-Werror=cast-function-type]
> arch/ia64/kernel/salinfo.c:212:1: error: no previous prototype for 'salinfo_log_wakeup' [-Werror=missing-prototypes]
> arch/ia64/kernel/signal.c:108:1: error: no previous prototype for 'ia64_rt_sigreturn' [-Werror=missing-prototypes]
> arch/ia64/kernel/smpboot.c:190:1: error: no previous prototype for 'sync_master' [-Werror=missing-prototypes]
> arch/ia64/kernel/smpboot.c:275:1: error: no previous prototype for 'ia64_sync_itc' [-Werror=missing-prototypes]
> arch/ia64/kernel/smpboot.c:435:1: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
> arch/ia64/kernel/smpboot.c:592:5: error: no previous prototype for 'migrate_platform_irqs' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:161:1: error: no previous prototype for 'ia64_mremap' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:171:1: error: no previous prototype for 'ia64_clock_getres' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:71:1: error: no previous prototype for 'ia64_getpriority' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:85:1: error: no previous prototype for 'sys_getpagesize' [-Werror=missing-prototypes]
> arch/ia64/kernel/sys_ia64.c:91:1: error: no previous prototype for 'ia64_brk' [-Werror=missing-prototypes]
> arch/ia64/kernel/time.c:260:6: error: no previous prototype for 'ia64_init_itm' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:101:11: error: no previous prototype for 'ia64_bad_break' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:35:1: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:387:1: error: no previous prototype for 'ia64_illegal_op_fault' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:416:1: error: no previous prototype for 'ia64_fault' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:43:1: error: no previous prototype for 'die' [-Werror=missing-prototypes]
> arch/ia64/kernel/traps.c:93:1: error: no previous prototype for 'die_if_kernel' [-Werror=missing-prototypes]
> arch/ia64/kernel/unaligned.c:1314:1: error: no previous prototype for 'ia64_handle_unaligned' [-Werror=missing-prototypes]
> arch/ia64/kernel/uncached.c:177:15: error: no previous prototype for 'uncached_alloc_page' [-Werror=missing-prototypes]
> arch/ia64/kernel/uncached.c:218:6: error: no previous prototype for 'uncached_free_page' [-Werror=missing-prototypes]
> arch/ia64/kernel/unwind.c:1449:59: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
> arch/ia64/kernel/unwind.c:2314:1: error: no previous prototype for 'sys_getunwind' [-Werror=missing-prototypes]
> arch/ia64/kernel/unwind.c:862:56: error: suggest braces around empty body in an 'else' statement [-Werror=empty-body]
> arch/ia64/lib/checksum.c:38:1: error: no previous prototype for 'csum_tcpudp_magic' [-Werror=missing-prototypes]
> arch/ia64/lib/checksum.c:49:1: error: no previous prototype for 'csum_tcpudp_nofold' [-Werror=missing-prototypes]
> arch/ia64/lib/checksum.c:80:8: error: no previous prototype for 'csum_partial' [-Werror=missing-prototypes]
> arch/ia64/lib/checksum.c:97:9: error: no previous prototype for 'ip_compute_csum' [-Werror=missing-prototypes]
> arch/ia64/mm/discontig.c:631:6: error: no previous prototype for 'vmemmap_free' [-Werror=missing-prototypes]
> arch/ia64/mm/extable.c:15:1: error: no previous prototype for 'ia64_handle_exception' [-Werror=missing-prototypes]
> arch/ia64/mm/fault.c:66:1: error: no previous prototype for 'ia64_do_page_fault' [-Werror=missing-prototypes]
> arch/ia64/mm/init.c:161:1: error: no previous prototype for 'free_initrd_mem' [-Werror=missing-prototypes]
> arch/ia64/mm/init.c:309:6: error: no previous prototype for 'ia64_mmu_init' [-Werror=missing-prototypes]
> arch/ia64/mm/tlb.c:369:6: error: no previous prototype for 'ia64_tlb_init' [-Werror=missing-prototypes]
> arch/ia64/pci/pci.c:326:6: error: no previous prototype for 'pcibios_fixup_device_resources' [-Werror=missing-prototypes]
> arch/loongarch/kernel/acpi.c:284:13: error: no previous prototype for 'acpi_numa_arch_fixup' [-Werror=missing-prototypes]
> arch/loongarch/kernel/module-sections.c:103:5: error: no previous prototype for 'module_frob_arch_sections' [-Werror=missing-prototypes]
> arch/loongarch/kernel/process.c:316:15: error: no previous prototype for 'arch_align_stack' [-Werror=missing-prototypes]
> arch/loongarch/kernel/signal.c:1040:6: error: no previous prototype for 'arch_do_signal_or_restart' [-Werror=missing-prototypes]
> arch/loongarch/kernel/signal.c:894:14: error: no previous prototype for 'get_sigframe' [-Werror=missing-prototypes]
> arch/loongarch/kernel/signal.c:925:17: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
> arch/loongarch/kernel/smp.c:501:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
> arch/loongarch/kernel/smp.c:559:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
> arch/loongarch/kernel/syscall.c:40:14: error: no previous prototype for 'do_syscall' [-Werror=missing-prototypes]
> arch/loongarch/kernel/time.c:32:13: error: no previous prototype for 'constant_timer_interrupt' [-Werror=missing-prototypes]
> arch/loongarch/kernel/topology.c:13:5: error: no previous prototype for 'arch_register_cpu' [-Werror=missing-prototypes]
> arch/loongarch/kernel/topology.c:27:6: error: no previous prototype for 'arch_unregister_cpu' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:1012:25: error: no previous prototype for 'do_reserved' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:1031:17: error: no previous prototype for 'cache_parity_error' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:1040:25: error: no previous prototype for 'handle_loongarch_irq' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:1051:25: error: no previous prototype for 'do_vint' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:373:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:438:6: error: no previous prototype for 'force_fcsr_sig' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:457:5: error: no previous prototype for 'process_fpemu_return' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:492:25: error: no previous prototype for 'do_fpe' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:519:25: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:533:25: error: no previous prototype for 'do_ale' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:594:25: error: no previous prototype for 'do_bce' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:683:25: error: no previous prototype for 'do_bp' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:762:25: error: no previous prototype for 'do_watch' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:812:25: error: no previous prototype for 'do_ri' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:907:25: error: no previous prototype for 'do_fpu' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:924:25: error: no previous prototype for 'do_lsx' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:946:25: error: no previous prototype for 'do_lasx' [-Werror=missing-prototypes]
> arch/loongarch/kernel/traps.c:981:25: error: no previous prototype for 'do_lbt' [-Werror=missing-prototypes]
> arch/loongarch/mm/fault.c:256:27: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/loongarch/mm/hugetlbpage.c:56:5: error: no previous prototype for 'is_aligned_hugepage_range' [-Werror=missing-prototypes]
> arch/loongarch/mm/ioremap.c:18:7: error: no previous prototype for 'early_memremap_ro' [-Werror=missing-prototypes]
> arch/loongarch/mm/ioremap.c:23:7: error: no previous prototype for 'early_memremap_prot' [-Werror=missing-prototypes]
> arch/loongarch/mm/tlb.c:264:6: error: no previous prototype for 'setup_tlb_handler' [-Werror=missing-prototypes]
> arch/m68k/amiga/amisound.c:48:13: error: no previous prototype for 'amiga_init_sound' [-Werror=missing-prototypes]
> arch/m68k/amiga/amisound.c:71:6: error: no previous prototype for 'amiga_mksound' [-Werror=missing-prototypes]
> arch/m68k/apollo/config.c:111:5: error: no previous prototype for 'dn_serial_console_wait_key' [-Werror=missing-prototypes]
> arch/m68k/apollo/config.c:118:6: error: no previous prototype for 'dn_serial_console_write' [-Werror=missing-prototypes]
> arch/m68k/apollo/config.c:132:6: error: no previous prototype for 'dn_serial_print' [-Werror=missing-prototypes]
> arch/m68k/apollo/config.c:240:6: error: no previous prototype for 'dn_dummy_waitbut' [-Werror=missing-prototypes]
> arch/m68k/apollo/dn_ints.c:19:6: error: no previous prototype for 'apollo_irq_shutdown' [-Werror=missing-prototypes]
> arch/m68k/apollo/dn_ints.c:29:6: error: no previous prototype for 'apollo_irq_eoi' [-Werror=missing-prototypes]
> arch/m68k/apollo/dn_ints.c:43:13: error: no previous prototype for 'dn_init_IRQ' [-Werror=missing-prototypes]
> arch/m68k/apollo/dn_ints.c:8:14: error: no previous prototype for 'apollo_irq_startup' [-Werror=missing-prototypes]
> arch/m68k/atari/ataints.c:267:13: error: no previous prototype for 'atari_init_IRQ' [-Werror=missing-prototypes]
> arch/m68k/atari/atakeyb.c:335:6: error: no previous prototype for 'ikbd_reset' [-Werror=missing-prototypes]
> arch/m68k/atari/atasound.c:36:6: error: no previous prototype for 'atari_microwire_cmd' [-Werror=missing-prototypes]
> arch/m68k/atari/atasound.c:53:6: error: no previous prototype for 'atari_mksound' [-Werror=missing-prototypes]
> arch/m68k/atari/config.c:883:12: error: no previous prototype for 'atari_platform_init' [-Werror=missing-prototypes]
> arch/m68k/atari/stram.c:118:12: error: no previous prototype for 'atari_stram_map_pages' [-Werror=missing-prototypes]
> arch/m68k/atari/time.c:140:5: error: no previous prototype for 'atari_mste_hwclk' [-Werror=missing-prototypes]
> arch/m68k/atari/time.c:199:5: error: no previous prototype for 'atari_tt_hwclk' [-Werror=missing-prototypes]
> arch/m68k/atari/time.c:59:1: error: no previous prototype for 'atari_sched_init' [-Werror=missing-prototypes]
> arch/m68k/bvme6000/config.c:133:13: error: no previous prototype for 'bvme6000_abort_int' [-Werror=missing-prototypes]
> arch/m68k/hp300/time.c:101:13: error: no previous prototype for 'hp300_sched_init' [-Werror=missing-prototypes]
> arch/m68k/kernel/ints.c:165:17: error: no previous prototype for 'handle_badint' [-Werror=missing-prototypes]
> arch/m68k/kernel/process.c:115:16: error: no previous prototype for 'm68k_clone' [-Werror=missing-prototypes]
> arch/m68k/kernel/process.c:136:16: error: no previous prototype for 'm68k_clone3' [-Werror=missing-prototypes]
> arch/m68k/kernel/ptrace.c:275:16: error: no previous prototype for 'syscall_trace_enter' [-Werror=missing-prototypes]
> arch/m68k/kernel/ptrace.c:288:17: error: no previous prototype for 'syscall_trace_leave' [-Werror=missing-prototypes]
> arch/m68k/kernel/signal.c:1112:6: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/m68k/kernel/signal.c:756:18: error: no previous prototype for 'do_sigreturn' [-Werror=missing-prototypes]
> arch/m68k/kernel/signal.c:783:18: error: no previous prototype for 'do_rt_sigreturn' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:378:1: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:40:17: error: no previous prototype for 'sys_mmap2' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:463:1: error: no previous prototype for 'sys_atomic_cmpxchg_32' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:564:16: error: no previous prototype for 'sys_getpagesize' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:569:26: error: no previous prototype for 'sys_get_thread_area' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:574:16: error: no previous prototype for 'sys_set_thread_area' [-Werror=missing-prototypes]
> arch/m68k/kernel/sys_m68k.c:580:16: error: no previous prototype for 'sys_atomic_barrier' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:1140:17: error: no previous prototype for 'set_esp0' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:1149:17: error: no previous prototype for 'fpsp040_die' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:1155:17: error: no previous prototype for 'fpemu_signal' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:754:17: error: no previous prototype for 'buserr_c' [-Werror=missing-prototypes]
> arch/m68k/kernel/traps.c:968:6: error: no previous prototype for 'bad_super_trap' [-Werror=missing-prototypes]
> arch/m68k/kernel/vectors.c:51:13: error: no previous prototype for 'base_trap_init' [-Werror=missing-prototypes]
> arch/m68k/kernel/vectors.c:74:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/m68k/lib/ashldi3.c:35:1: error: no previous prototype for '__ashldi3' [-Werror=missing-prototypes]
> arch/m68k/lib/ashrdi3.c:35:1: error: no previous prototype for '__ashrdi3' [-Werror=missing-prototypes]
> arch/m68k/lib/lshrdi3.c:35:1: error: no previous prototype for '__lshrdi3' [-Werror=missing-prototypes]
> arch/m68k/lib/muldi3.c:82:1: error: no previous prototype for '__muldi3' [-Werror=missing-prototypes]
> arch/m68k/mac/baboon.c:25:13: error: no previous prototype for 'baboon_init' [-Werror=missing-prototypes]
> arch/m68k/mac/config.c:961:12: error: no previous prototype for 'mac_platform_init' [-Werror=missing-prototypes]
> arch/m68k/mac/iop.c:235:13: error: no previous prototype for 'iop_init' [-Werror=missing-prototypes]
> arch/m68k/mac/macboing.c:164:6: error: no previous prototype for 'mac_mksound' [-Werror=missing-prototypes]
> arch/m68k/mac/misc.c:609:5: error: no previous prototype for 'mac_hwclk' [-Werror=missing-prototypes]
> arch/m68k/mac/oss.c:37:13: error: no previous prototype for 'oss_init' [-Werror=missing-prototypes]
> arch/m68k/mac/psc.c:76:13: error: no previous prototype for 'psc_init' [-Werror=missing-prototypes]
> arch/m68k/mac/via.c:111:13: error: no previous prototype for 'via_init' [-Werror=missing-prototypes]
> arch/m68k/mac/via.c:593:13: error: no previous prototype for 'via_init_clock' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_arith.c:310:1: error: no previous prototype for 'fp_fsglmul' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_arith.c:367:1: error: no previous prototype for 'fp_fsgldiv' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:102:1: error: no previous prototype for 'fp_fetoxm1' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:112:1: error: no previous prototype for 'fp_fetox' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:122:1: error: no previous prototype for 'fp_ftwotox' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:132:1: error: no previous prototype for 'fp_ftentox' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:142:1: error: no previous prototype for 'fp_flogn' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:152:1: error: no previous prototype for 'fp_flognp1' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:162:1: error: no previous prototype for 'fp_flog10' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:172:1: error: no previous prototype for 'fp_flog2' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:182:1: error: no previous prototype for 'fp_fgetexp' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:203:1: error: no previous prototype for 'fp_fgetman' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_log.c:29:1: error: no previous prototype for 'fp_fsqrt' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:102:1: error: no previous prototype for 'fp_ftanh' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:112:1: error: no previous prototype for 'fp_fatanh' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:122:1: error: no previous prototype for 'fp_fsincos0' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:130:1: error: no previous prototype for 'fp_fsincos1' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:138:1: error: no previous prototype for 'fp_fsincos2' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:146:1: error: no previous prototype for 'fp_fsincos3' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:154:1: error: no previous prototype for 'fp_fsincos4' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:162:1: error: no previous prototype for 'fp_fsincos5' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:170:1: error: no previous prototype for 'fp_fsincos6' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:178:1: error: no previous prototype for 'fp_fsincos7' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:22:1: error: no previous prototype for 'fp_fsin' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:32:1: error: no previous prototype for 'fp_fcos' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:42:1: error: no previous prototype for 'fp_ftan' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:52:1: error: no previous prototype for 'fp_fasin' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:62:1: error: no previous prototype for 'fp_facos' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:72:1: error: no previous prototype for 'fp_fatan' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:82:1: error: no previous prototype for 'fp_fsinh' [-Werror=missing-prototypes]
> arch/m68k/math-emu/fp_trig.c:92:1: error: no previous prototype for 'fp_fcosh' [-Werror=missing-prototypes]
> arch/m68k/mm/fault.c:22:5: error: no previous prototype for 'send_fault_sig' [-Werror=missing-prototypes]
> arch/m68k/mm/fault.c:68:5: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/m68k/mm/hwtest.c:29:5: error: no previous prototype for 'hwreg_present' [-Werror=missing-prototypes]
> arch/m68k/mm/hwtest.c:62:5: error: no previous prototype for 'hwreg_write' [-Werror=missing-prototypes]
> arch/m68k/mm/motorola.c:418:13: error: no previous prototype for 'paging_init' [-Werror=missing-prototypes]
> arch/m68k/mvme147/config.c:76:13: error: no previous prototype for 'mvme147_init_IRQ' [-Werror=missing-prototypes]
> arch/m68k/mvme16x/config.c:208:6: error: no previous prototype for 'mvme16x_cons_write' [-Werror=missing-prototypes]
> arch/m68k/q40/q40ints.c:112:6: error: no previous prototype for 'q40_mksound' [-Werror=missing-prototypes]
> arch/m68k/q40/q40ints.c:152:6: error: no previous prototype for 'q40_sched_init' [-Werror=missing-prototypes]
> arch/m68k/q40/q40ints.c:84:13: error: no previous prototype for 'q40_init_IRQ' [-Werror=missing-prototypes]
> arch/m68k/sun3/idprom.c:86:6: error: no previous prototype for 'sun3_get_model' [-Werror=missing-prototypes]
> arch/m68k/sun3x/config.c:29:6: error: no previous prototype for 'sun3_leds' [-Werror=missing-prototypes]
> arch/m68k/sun3x/config.c:42:13: error: no previous prototype for 'config_sun3x' [-Werror=missing-prototypes]
> arch/m68k/sun3x/dvma.c:179:6: error: no previous prototype for 'dvma_unmap_iommu' [-Werror=missing-prototypes]
> arch/m68k/sun3x/prom.c:33:6: error: no previous prototype for 'sun3x_halt' [-Werror=missing-prototypes]
> arch/microblaze/kernel/traps.c:21:6: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/mips/kernel/ftrace.c:305:6: error: no previous prototype for 'prepare_ftrace_return' [-Werror=missing-prototypes]
> arch/mips/kernel/jump_label.c:93:6: error: no previous prototype for 'jump_label_apply_nops' [-Werror=missing-prototypes]
> arch/mips/kernel/linux32.c:102:20: error: no previous prototype for 'sys32_readahead' [-Werror=missing-prototypes]
> arch/mips/kernel/linux32.c:108:17: error: no previous prototype for 'sys32_sync_file_range' [-Werror=missing-prototypes]
> arch/mips/kernel/linux32.c:118:17: error: no previous prototype for 'sys32_fadvise64_64' [-Werror=missing-prototypes]
> arch/mips/kernel/linux32.c:128:17: error: no previous prototype for 'sys32_fallocate' [-Werror=missing-prototypes]
> arch/mips/kernel/machine_kexec.c:136:1: error: no previous prototype for 'machine_shutdown' [-Werror=missing-prototypes]
> arch/mips/kernel/machine_kexec.c:152:1: error: no previous prototype for 'machine_crash_shutdown' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-cm.c:204:13: error: no previous prototype for '__mips_cm_l2sync_phys_base' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-mt-fpaff.c:157:17: error: no previous prototype for 'mipsmt_sys_sched_getaffinity' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-mt-fpaff.c:65:17: error: no previous prototype for 'mipsmt_sys_sched_setaffinity' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-mt.c:159:6: error: no previous prototype for 'mips_mt_set_cpuoptions' [-Werror=missing-prototypes]
> arch/mips/kernel/mips-mt.c:50:6: error: no previous prototype for 'mips_mt_regdump' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:438:5: error: no previous prototype for 'setup_sigcontext' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:438:5: error: no previous prototype for 'setup_sigcontext' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:515:5: error: no previous prototype for 'restore_sigcontext' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:515:5: error: no previous prototype for 'restore_sigcontext' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:636:17: error: no previous prototype for 'sys_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:673:17: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:673:17: error: no previous prototype for 'sys_rt_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:903:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/mips/kernel/signal.c:903:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/mips/kernel/signal32.c:33:16: error: no previous prototype for 'sys32_sigsuspend' [-Werror=missing-prototypes]
> arch/mips/kernel/signal_n32.c:53:17: error: no previous prototype for 'sysn32_rt_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal_o32.c:154:17: error: no previous prototype for 'sys32_rt_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/signal_o32.c:256:17: error: no previous prototype for 'sys32_sigreturn' [-Werror=missing-prototypes]
> arch/mips/kernel/smp.c:352:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
> arch/mips/kernel/smp.c:352:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
> arch/mips/kernel/smp.c:472:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
> arch/mips/kernel/smp.c:472:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
> arch/mips/kernel/spram.c:194:6: error: no previous prototype for 'spram_config' [-Werror=missing-prototypes]
> arch/mips/kernel/spram.c:194:6: error: no previous prototype for 'spram_config' [-Werror=missing-prototypes]
> arch/mips/kernel/syscall.c:51:16: error: no previous prototype for 'sysm_pipe' [-Werror=missing-prototypes]
> arch/mips/kernel/syscall.c:51:16: error: no previous prototype for 'sysm_pipe' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1027:17: error: no previous prototype for 'do_bp' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1027:17: error: no previous prototype for 'do_bp' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1114:17: error: no previous prototype for 'do_tr' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1114:17: error: no previous prototype for 'do_tr' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1151:17: error: no previous prototype for 'do_ri' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1151:17: error: no previous prototype for 'do_ri' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1402:17: error: no previous prototype for 'do_cpu' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1402:17: error: no previous prototype for 'do_cpu' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1507:17: error: no previous prototype for 'do_msa_fpe' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1507:17: error: no previous prototype for 'do_msa_fpe' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1527:17: error: no previous prototype for 'do_msa' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1527:17: error: no previous prototype for 'do_msa' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1548:17: error: no previous prototype for 'do_mdmx' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1548:17: error: no previous prototype for 'do_mdmx' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1560:17: error: no previous prototype for 'do_watch' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1560:17: error: no previous prototype for 'do_watch' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1587:17: error: no previous prototype for 'do_mcheck' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1587:17: error: no previous prototype for 'do_mcheck' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1612:17: error: no previous prototype for 'do_mt' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1612:17: error: no previous prototype for 'do_mt' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1648:17: error: no previous prototype for 'do_dsp' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1648:17: error: no previous prototype for 'do_dsp' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1656:17: error: no previous prototype for 'do_reserved' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1656:17: error: no previous prototype for 'do_reserved' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1832:17: error: no previous prototype for 'cache_parity_error' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1832:17: error: no previous prototype for 'cache_parity_error' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1880:17: error: no previous prototype for 'do_ftlb' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1880:17: error: no previous prototype for 'do_ftlb' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1909:17: error: no previous prototype for 'do_gsexc' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1909:17: error: no previous prototype for 'do_gsexc' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1944:6: error: no previous prototype for 'ejtag_exception_handler' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1944:6: error: no previous prototype for 'ejtag_exception_handler' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1989:17: error: no previous prototype for 'nmi_exception_handler' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:1989:17: error: no previous prototype for 'nmi_exception_handler' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:370:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:370:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:447:17: error: no previous prototype for 'do_be' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:447:17: error: no previous prototype for 'do_be' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:752:17: error: no previous prototype for 'do_ov' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:752:17: error: no previous prototype for 'do_ov' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:874:17: error: no previous prototype for 'do_fpe' [-Werror=missing-prototypes]
> arch/mips/kernel/traps.c:874:17: error: no previous prototype for 'do_fpe' [-Werror=missing-prototypes]
> arch/mips/kernel/unaligned.c:1516:17: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
> arch/mips/kernel/unaligned.c:1516:17: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
> arch/mips/kvm/loongson_ipi.c:190:6: error: no previous prototype for 'kvm_init_loongson_ipi' [-Werror=missing-prototypes]
> arch/mips/loongson64/dma.c:25:13: error: no previous prototype for 'plat_swiotlb_setup' [-Werror=missing-prototypes]
> arch/mips/loongson64/pm.c:59:13: error: no previous prototype for 'setup_wakeup_events' [-Werror=missing-prototypes]
> arch/mips/loongson64/pm.c:63:13: error: no previous prototype for 'mach_suspend' [-Werror=missing-prototypes]
> arch/mips/loongson64/pm.c:67:13: error: no previous prototype for 'mach_resume' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1588:6: error: no previous prototype for 'au1x00_fixup_config_od' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1588:6: error: no previous prototype for 'au1x00_fixup_config_od' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1703:6: error: no previous prototype for 'r4k_cache_init' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1703:6: error: no previous prototype for 'r4k_cache_init' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1831:12: error: no previous prototype for 'r4k_cache_init_pm' [-Werror=missing-prototypes]
> arch/mips/mm/c-r4k.c:1831:12: error: no previous prototype for 'r4k_cache_init_pm' [-Werror=missing-prototypes]
> arch/mips/mm/fault.c:323:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/mips/mm/fault.c:323:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/mips/mm/init.c:60:6: error: no previous prototype for 'setup_zero_pages' [-Werror=missing-prototypes]
> arch/mips/mm/pgtable-64.c:101:6: error: no previous prototype for 'set_pmd_at' [-Werror=missing-prototypes]
> arch/mips/mm/pgtable-64.c:92:7: error: no previous prototype for 'mk_pmd' [-Werror=missing-prototypes]
> arch/mips/mm/sc-mips.c:255:5: error: no previous prototype for 'mips_sc_init' [-Werror=missing-prototypes]
> arch/mips/mm/tlb-r4k.c:461:12: error: no previous prototype for 'add_temporary_entry' [-Werror=missing-prototypes]
> arch/mips/mm/tlb-r4k.c:553:6: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
> arch/mips/mm/tlb-r4k.c:553:6: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
> arch/mips/mm/tlbex.c:2547:6: error: no previous prototype for 'build_tlb_refill_handler' [-Werror=missing-prototypes]
> arch/mips/mm/tlbex.c:2547:6: error: no previous prototype for 'build_tlb_refill_handler' [-Werror=missing-prototypes]
> arch/mips/mm/uasm.c:421:5: error: no previous prototype for 'uasm_in_compat_space_p' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:14:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:28:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:36:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:42:5: error: no previous prototype for '__vdso_clock_gettime64' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:50:5: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:64:5: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/mips/vdso/vgettimeofday.c:72:5: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
> arch/nios2/kernel/irq.c:19:17: error: no previous prototype for 'do_IRQ' [-Werror=missing-prototypes]
> arch/nios2/kernel/misaligned.c:66:17: error: no previous prototype for 'handle_unaligned_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:152:6: error: no previous prototype for 'dump' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:253:16: error: no previous prototype for 'nios2_clone' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:34:6: error: no previous prototype for 'arch_cpu_idle' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:43:6: error: no previous prototype for 'machine_restart' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:54:6: error: no previous prototype for 'machine_halt' [-Werror=missing-prototypes]
> arch/nios2/kernel/process.c:66:6: error: no previous prototype for 'machine_power_off' [-Werror=missing-prototypes]
> arch/nios2/kernel/setup.c:107:24: error: no previous prototype for 'nios2_boot_init' [-Werror=missing-prototypes]
> arch/nios2/kernel/signal.c:101:16: error: no previous prototype for 'do_rt_sigreturn' [-Werror=missing-prototypes]
> arch/nios2/kernel/signal.c:302:16: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/nios2/kernel/sys_nios2.c:21:16: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
> arch/nios2/kernel/sys_nios2.c:57:16: error: no previous prototype for 'sys_getpagesize' [-Werror=missing-prototypes]
> arch/nios2/kernel/time.c:200:13: error: no previous prototype for 'timer_interrupt' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:109:17: error: no previous prototype for 'breakpoint_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:147:17: error: no previous prototype for 'handle_illegal_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:154:17: error: no previous prototype for 'handle_supervisor_instr' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:161:17: error: no previous prototype for 'handle_diverror_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:168:17: error: no previous prototype for 'unhandled_exception' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:183:17: error: no previous prototype for 'handle_trap_1_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:188:17: error: no previous prototype for 'handle_trap_2_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:193:17: error: no previous prototype for 'handle_trap_3_c' [-Werror=missing-prototypes]
> arch/nios2/kernel/traps.c:32:6: error: no previous prototype for 'die' [-Werror=missing-prototypes]
> arch/nios2/lib/memcpy.c:160:7: error: no previous prototype for 'memcpy' [-Werror=missing-prototypes]
> arch/nios2/lib/memcpy.c:194:7: error: no previous prototype for 'memcpyb' [-Werror=missing-prototypes]
> arch/nios2/mm/dma-mapping.c:21:6: error: no previous prototype for 'arch_sync_dma_for_device' [-Werror=missing-prototypes]
> arch/nios2/mm/dma-mapping.c:45:6: error: no previous prototype for 'arch_sync_dma_for_cpu' [-Werror=missing-prototypes]
> arch/nios2/mm/dma-mapping.c:63:6: error: no previous prototype for 'arch_dma_prep_coherent' [-Werror=missing-prototypes]
> arch/nios2/mm/dma-mapping.c:70:7: error: no previous prototype for 'arch_dma_set_uncached' [-Werror=missing-prototypes]
> arch/nios2/mm/fault.c:43:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/nios2/mm/pgtable.c:53:8: error: no previous prototype for 'pgd_alloc' [-Werror=missing-prototypes]
> arch/nios2/mm/pgtable.c:68:13: error: no previous prototype for 'pagetable_init' [-Werror=missing-prototypes]
> arch/nios2/mm/tlb.c:167:6: error: no previous prototype for 'dump_tlb_line' [-Werror=missing-prototypes]
> arch/nios2/mm/tlb.c:208:6: error: no previous prototype for 'dump_tlb' [-Werror=missing-prototypes]
> arch/nios2/mm/tlb.c:216:6: error: no previous prototype for 'flush_tlb_pid' [-Werror=missing-prototypes]
> arch/openrisc/kernel/process.c:100:6: error: no previous prototype for 'arch_cpu_idle' [-Werror=missing-prototypes]
> arch/openrisc/kernel/process.c:240:21: error: no previous prototype for '__switch_to' [-Werror=missing-prototypes]
> arch/openrisc/kernel/ptrace.c:191:17: error: no previous prototype for 'do_syscall_trace_enter' [-Werror=missing-prototypes]
> arch/openrisc/kernel/ptrace.c:210:17: error: no previous prototype for 'do_syscall_trace_leave' [-Werror=missing-prototypes]
> arch/openrisc/kernel/signal.c:227:5: error: no previous prototype for 'do_signal' [-Werror=missing-prototypes]
> arch/openrisc/kernel/signal.c:293:1: error: no previous prototype for 'do_work_pending' [-Werror=missing-prototypes]
> arch/openrisc/kernel/signal.c:68:17: error: no previous prototype for '_sys_rt_sigreturn' [-Werror=missing-prototypes]
> arch/openrisc/kernel/time.c:111:25: error: no previous prototype for 'timer_interrupt' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:146:6: error: no previous prototype for 'nommu_dump_state' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:221:17: error: no previous prototype for 'die' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:239:17: error: no previous prototype for 'unhandled_exception' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:246:17: error: no previous prototype for 'do_fpe_trap' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:268:17: error: no previous prototype for 'do_trap' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:273:17: error: no previous prototype for 'do_unaligned_access' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:286:17: error: no previous prototype for 'do_bus_fault' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:462:17: error: no previous prototype for 'do_illegal_instruction' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:67:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
> arch/openrisc/mm/fault.c:44:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/openrisc/mm/tlb.c:188:13: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
> arch/parisc/lib/ucmpdi2.c:12:5: error: no previous prototype for '__ucmpdi2' [-Werror=missing-prototypes]
> arch/sh/kernel/cpu/init.c:99:29: error: no previous prototype for 'l2_cache_init' [-Werror=missing-prototypes]
> arch/sh/kernel/cpu/init.c:99:29: error: no previous prototype for 'l2_cache_init' [-Werror=missing-prototypes]
> arch/sh/kernel/cpu/sh4/fpu.c:389:6: error: no previous prototype for 'float_raise' [-Werror=missing-prototypes]
> arch/sh/kernel/cpu/sh4/fpu.c:394:5: error: no previous prototype for 'float_rounding_mode' [-Werror=missing-prototypes]
> arch/sh/kernel/hw_breakpoint.c:135:5: error: no previous prototype for 'arch_bp_generic_fields' [-Werror=missing-prototypes]
> arch/sh/kernel/hw_breakpoint.c:135:5: error: no previous prototype for 'arch_bp_generic_fields' [-Werror=missing-prototypes]
> arch/sh/kernel/return_address.c:49:7: error: no previous prototype for 'return_address' [-Werror=missing-prototypes]
> arch/sh/kernel/return_address.c:49:7: error: no previous prototype for 'return_address' [-Werror=missing-prototypes]
> arch/sh/kernel/sys_sh.c:58:16: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
> arch/sh/kernel/sys_sh.c:58:16: error: no previous prototype for 'sys_cacheflush' [-Werror=missing-prototypes]
> arch/sh/kernel/traps_32.c:735:6: error: no previous prototype for 'per_cpu_trap_init' [-Werror=missing-prototypes]
> arch/sh/kernel/traps_32.c:735:6: error: no previous prototype for 'per_cpu_trap_init' [-Werror=missing-prototypes]
> arch/sh/mm/cache-sh2.c:85:13: error: no previous prototype for 'sh2_cache_init' [-Werror=missing-prototypes]
> arch/sh/mm/cache-sh4.c:384:13: error: no previous prototype for 'sh4_cache_init' [-Werror=missing-prototypes]
> arch/sh/mm/fault.c:389:27: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/sh/mm/flush-sh4.c:106:13: error: no previous prototype for 'sh4__flush_region_init' [-Werror=missing-prototypes]
> arch/sh/mm/nommu.c:76:13: error: no previous prototype for 'kmap_coherent_init' [-Werror=missing-prototypes]
> arch/sh/mm/nommu.c:80:7: error: no previous prototype for 'kmap_coherent' [-Werror=missing-prototypes]
> arch/sh/mm/nommu.c:86:6: error: no previous prototype for 'kunmap_coherent' [-Werror=missing-prototypes]
> arch/sh/mm/pgtable.c:10:6: error: no previous prototype for 'pgd_ctor' [-Werror=missing-prototypes]
> arch/sh/mm/pgtable.c:32:8: error: no previous prototype for 'pgd_alloc' [-Werror=missing-prototypes]
> arch/sh/mm/pgtable.c:37:6: error: no previous prototype for 'pgd_free' [-Werror=missing-prototypes]
> arch/sh/mm/tlbex_32.c:22:1: error: no previous prototype for 'handle_tlbmiss' [-Werror=missing-prototypes]
> arch/sparc/kernel/adi_64.c:124:21: error: no previous prototype for 'find_tag_store' [-Werror=missing-prototypes]
> arch/sparc/kernel/adi_64.c:156:21: error: no previous prototype for 'alloc_tag_store' [-Werror=missing-prototypes]
> arch/sparc/kernel/adi_64.c:299:6: error: no previous prototype for 'del_tag_store' [-Werror=missing-prototypes]
> arch/sparc/kernel/pci_sun4v.c:258:15: error: no previous prototype for 'dma_4v_iotsb_bind' [-Werror=missing-prototypes]
> arch/sparc/kernel/setup_64.c:615:13: error: no previous prototype for 'alloc_irqstack_bootmem' [-Werror=missing-prototypes]
> arch/sparc/kernel/time_64.c:880:20: error: no previous prototype for 'sched_clock' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_32.c:366:6: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_64.c:2034:6: error: no previous prototype for 'do_mcd_err' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_64.c:2152:6: error: no previous prototype for 'sun4v_nonresum_error_user_handled' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_64.c:252:6: error: no previous prototype for 'is_no_fault_exception' [-Werror=missing-prototypes]
> arch/sparc/kernel/traps_64.c:2839:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/sparc/kernel/uprobes.c:237:17: error: no previous prototype for 'uprobe_trap' [-Werror=missing-prototypes]
> arch/sparc/lib/cmpdi2.c:6:11: error: no previous prototype for '__cmpdi2' [-Werror=missing-prototypes]
> arch/sparc/lib/ucmpdi2.c:5:11: error: no previous prototype for '__ucmpdi2' [-Werror=missing-prototypes]
> arch/sparc/mm/init_64.c:2644:6: error: no previous prototype for 'vmemmap_free' [-Werror=missing-prototypes]
> arch/sparc/prom/misc_64.c:165:5: error: no previous prototype for 'prom_get_mmu_ihandle' [-Werror=missing-prototypes]
> arch/sparc/prom/p1275.c:52:6: error: no previous prototype for 'prom_cif_init' [-Werror=missing-prototypes]
> arch/sparc/vdso/vclock_gettime.c:254:1: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/sparc/vdso/vclock_gettime.c:282:1: error: no previous prototype for '__vdso_clock_gettime_stick' [-Werror=missing-prototypes]
> arch/sparc/vdso/vclock_gettime.c:307:1: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/sparc/vdso/vclock_gettime.c:343:1: error: no previous prototype for '__vdso_gettimeofday_stick' [-Werror=missing-prototypes]
> arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
> arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: error: no previous prototype for '__vdso_clock_gettime_stick' [-Werror=missing-prototypes]
> arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
> arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: error: no previous prototype for '__vdso_gettimeofday_stick' [-Werror=missing-prototypes]
> arch/sparc/vdso/vma.c:246:12: error: no previous prototype for 'init_vdso_image' [-Werror=missing-prototypes]
> arch/xtensa/kernel/irq.c:34:17: error: no previous prototype for 'do_IRQ' [-Werror=missing-prototypes]
> arch/xtensa/kernel/ptrace.c:545:5: error: no previous prototype for 'do_syscall_trace_enter' [-Werror=missing-prototypes]
> arch/xtensa/kernel/setup.c:244:13: error: no previous prototype for 'init_arch' [-Werror=missing-prototypes]
> arch/xtensa/kernel/signal.c:246:17: error: no previous prototype for 'xtensa_rt_sigreturn' [-Werror=missing-prototypes]
> arch/xtensa/kernel/signal.c:525:6: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
> arch/xtensa/kernel/stacktrace.c:263:15: error: no previous prototype for 'return_address' [-Werror=missing-prototypes]
> arch/xtensa/kernel/traps.c:484:13: error: no previous prototype for 'trap_init' [-Werror=missing-prototypes]
> arch/xtensa/mm/fault.c:87:6: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/xtensa/platforms/iss/network.c:204:16: error: no previous prototype for 'tuntap_protocol' [-Werror=missing-prototypes]
> arch/xtensa/platforms/iss/network.c:444:6: error: no previous prototype for 'iss_net_user_timer_expire' [-Werror=missing-prototypes]
>
>
> Cc: Matt Turner <mattst88@gmail.com>
> Cc: Vineet Gupta <vgupta@kernel.org>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>
> Cc: Guo Ren <guoren@kernel.org>
> Cc: Brian Cain <bcain@quicinc.com>
> Cc: Huacai Chen <chenhuacai@kernel.org>
> Cc: WANG Xuerui <kernel@xen0n.name>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Michal Simek <monstr@monstr.eu>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: Dinh Nguyen <dinguyen@kernel.org>
> Cc: Jonas Bonn <jonas@southpole.se>
> Cc: Stafford Horne <shorne@gmail.com>
> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
> Cc: Helge Deller <deller@gmx.de>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
> Cc: Palmer Dabbelt <palmer@dabbelt.com>
> Cc: Heiko Carstens <hca@linux.ibm.com>
> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
> Cc: x86@kernel.org
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Nathan Chancellor <nathan@kernel.org>
> Cc: Nick Desaulniers <ndesaulniers@google.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
> Cc: linux-next@vger.kernel.org
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-alpha@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-snps-arc@lists.infradead.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-csky@vger.kernel.org
> Cc: linux-hexagon@vger.kernel.org
> Cc: linux-ia64@vger.kernel.org
> Cc: loongarch@lists.linux.dev
> Cc: linux-m68k@lists.linux-m68k.org
> Cc: linux-mips@vger.kernel.org
> Cc: linux-openrisc@vger.kernel.org
> Cc: sparclinux@vger.kernel.org
> ---
>  arch/alpha/Kbuild                  |  2 ++
>  arch/alpha/lib/Makefile            |  1 +
>  arch/arc/Kbuild                    |  2 ++
>  arch/csky/Kbuild                   |  2 ++
>  arch/hexagon/Kbuild                |  2 ++
>  arch/ia64/Kbuild                   |  2 ++
>  arch/ia64/lib/Makefile             |  1 +
>  arch/loongarch/Kbuild              |  2 ++
>  arch/m68k/Kbuild                   |  2 ++
>  arch/m68k/lib/Makefile             |  1 +
>  arch/microblaze/Kbuild             |  2 ++
>  arch/mips/Kbuild                   |  2 ++
>  arch/mips/boot/compressed/Makefile |  3 ++-
>  arch/nios2/Kbuild                  |  2 ++
>  arch/nios2/lib/Makefile            |  1 +
>  arch/openrisc/Kbuild               |  2 ++
>  arch/parisc/Kbuild                 |  2 ++
>  arch/parisc/lib/Makefile           |  1 +
>  arch/sh/Kbuild                     |  2 ++
>  arch/sh/boot/compressed/Makefile   |  1 +
>  arch/sparc/Kbuild                  |  2 ++
>  arch/sparc/lib/Makefile            |  1 +
>  arch/sparc/prom/Makefile           |  1 +
>  arch/xtensa/Kbuild                 |  2 ++
>  arch/xtensa/boot/lib/Makefile      |  2 ++
>  init/Kconfig                       | 10 ++++++++++
>  26 files changed, 52 insertions(+), 1 deletion(-)
>
> diff --git a/arch/alpha/Kbuild b/arch/alpha/Kbuild
> index 345d79df24bb9..283cb9d5b022c 100644
> --- a/arch/alpha/Kbuild
> +++ b/arch/alpha/Kbuild
> @@ -4,3 +4,5 @@ obj-$(CONFIG_MATHEMU)   += math-emu/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/alpha/lib/Makefile b/arch/alpha/lib/Makefile
> index 1cc74f7b50efb..09e0be65caa93 100644
> --- a/arch/alpha/lib/Makefile
> +++ b/arch/alpha/lib/Makefile
> @@ -5,6 +5,7 @@
>
>  asflags-y := $(KBUILD_CFLAGS)
>  ccflags-y := -Werror
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>
>  # Many of these routines have implementations tuned for ev6.
>  # Choose them iff we're targeting ev6 specifically.
> diff --git a/arch/arc/Kbuild b/arch/arc/Kbuild
> index b94102fff68b4..9bc728209f747 100644
> --- a/arch/arc/Kbuild
> +++ b/arch/arc/Kbuild
> @@ -4,3 +4,5 @@ obj-y += mm/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/csky/Kbuild b/arch/csky/Kbuild
> index 0621eaea41962..1d4322ebc95e5 100644
> --- a/arch/csky/Kbuild
> +++ b/arch/csky/Kbuild
> @@ -4,3 +4,5 @@ obj-y += kernel/ mm/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/hexagon/Kbuild b/arch/hexagon/Kbuild
> index 8421baba13518..9aceffc706d4a 100644
> --- a/arch/hexagon/Kbuild
> +++ b/arch/hexagon/Kbuild
> @@ -1,2 +1,4 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  obj-y += kernel/ mm/ lib/
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/ia64/Kbuild b/arch/ia64/Kbuild
> index e77cc76d228cd..69e3c2dadde0e 100644
> --- a/arch/ia64/Kbuild
> +++ b/arch/ia64/Kbuild
> @@ -1,3 +1,5 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  obj-y                          += kernel/ mm/
>  obj-$(CONFIG_IA64_SGI_UV)      += uv/
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/ia64/lib/Makefile b/arch/ia64/lib/Makefile
> index 081fcba01dc0c..03999c9f19bb3 100644
> --- a/arch/ia64/lib/Makefile
> +++ b/arch/ia64/lib/Makefile
> @@ -2,6 +2,7 @@
>  #
>  # Makefile for ia64-specific library routines..
>  #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>
>  lib-y := io.o __divsi3.o __udivsi3.o __modsi3.o __umodsi3.o            \
>         __divdi3.o __udivdi3.o __moddi3.o __umoddi3.o                   \
> diff --git a/arch/loongarch/Kbuild b/arch/loongarch/Kbuild
> index b01f5cdb27e03..f3b89e5f79050 100644
> --- a/arch/loongarch/Kbuild
> +++ b/arch/loongarch/Kbuild
> @@ -5,3 +5,5 @@ obj-y += vdso/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/m68k/Kbuild b/arch/m68k/Kbuild
> index 7762af9f6defe..b2abbf427e8f2 100644
> --- a/arch/m68k/Kbuild
> +++ b/arch/m68k/Kbuild
> @@ -18,3 +18,5 @@ obj-$(CONFIG_M68KFPU_EMU)     += math-emu/
>  obj-$(CONFIG_M68000)           += 68000/
>  obj-$(CONFIG_COLDFIRE)         += coldfire/
>  obj-$(CONFIG_VIRT)             += virt/
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/m68k/lib/Makefile b/arch/m68k/lib/Makefile
> index eca17f14b4d5e..3aea84ffa0db2 100644
> --- a/arch/m68k/lib/Makefile
> +++ b/arch/m68k/lib/Makefile
> @@ -3,6 +3,7 @@
>  #
>  # Makefile for m68k-specific library files..
>  #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>
>  lib-y  := ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \
>            memcpy.o memset.o memmove.o
> diff --git a/arch/microblaze/Kbuild b/arch/microblaze/Kbuild
> index 077a0b8e96157..b2799946ae01d 100644
> --- a/arch/microblaze/Kbuild
> +++ b/arch/microblaze/Kbuild
> @@ -6,3 +6,5 @@ obj-y                   += boot/dts/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/mips/Kbuild b/arch/mips/Kbuild
> index af2967bffb73d..484cfda563b68 100644
> --- a/arch/mips/Kbuild
> +++ b/arch/mips/Kbuild
> @@ -28,3 +28,5 @@ endif
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
> index 6cc28173bee89..58be7966d839f 100644
> --- a/arch/mips/boot/compressed/Makefile
> +++ b/arch/mips/boot/compressed/Makefile
> @@ -11,9 +11,10 @@
>  # Copyright (C) 2009 Lemote Inc. & DSLab, Lanzhou University
>  # Author: Wu Zhangjin <wuzhangjin@gmail.com>
>  #
> -
>  include $(srctree)/arch/mips/Kbuild.platforms
>
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> +
>  # set the default size of the mallocing area for decompressing
>  BOOT_HEAP_SIZE := 0x400000
>
> diff --git a/arch/nios2/Kbuild b/arch/nios2/Kbuild
> index fc2952edd2dec..5f79d266fd4ef 100644
> --- a/arch/nios2/Kbuild
> +++ b/arch/nios2/Kbuild
> @@ -4,3 +4,5 @@ obj-y += kernel/ mm/ platform/ boot/dts/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/nios2/lib/Makefile b/arch/nios2/lib/Makefile
> index 9d5bf1df520c1..9acc5a98760fa 100644
> --- a/arch/nios2/lib/Makefile
> +++ b/arch/nios2/lib/Makefile
> @@ -2,6 +2,7 @@
>  #
>  # Makefile for Nios2-specific library files.
>  #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>
>  lib-y += delay.o
>  lib-y += memcpy.o
> diff --git a/arch/openrisc/Kbuild b/arch/openrisc/Kbuild
> index b0b0f2b03f872..ba60f445bf429 100644
> --- a/arch/openrisc/Kbuild
> +++ b/arch/openrisc/Kbuild
> @@ -4,3 +4,5 @@ obj-y += boot/dts/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/parisc/Kbuild b/arch/parisc/Kbuild
> index a6d3b280ba0c2..b825fb5cf9226 100644
> --- a/arch/parisc/Kbuild
> +++ b/arch/parisc/Kbuild
> @@ -3,3 +3,5 @@ obj-y   += mm/ kernel/ math-emu/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/parisc/lib/Makefile b/arch/parisc/lib/Makefile
> index 7b197667faf6c..348a286ab68fe 100644
> --- a/arch/parisc/lib/Makefile
> +++ b/arch/parisc/lib/Makefile
> @@ -2,6 +2,7 @@
>  #
>  # Makefile for parisc-specific library files
>  #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>
>  lib-y  := lusercopy.o bitops.o checksum.o io.o memset.o memcpy.o \
>            ucmpdi2.o delay.o
> diff --git a/arch/sh/Kbuild b/arch/sh/Kbuild
> index 056efec72c2a0..df2cf06eea5f6 100644
> --- a/arch/sh/Kbuild
> +++ b/arch/sh/Kbuild
> @@ -7,3 +7,5 @@ obj-$(CONFIG_HD6446X_SERIES)    += cchips/hd6446x/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile
> index b5e29f99c02c8..25000003c94eb 100644
> --- a/arch/sh/boot/compressed/Makefile
> +++ b/arch/sh/boot/compressed/Makefile
> @@ -4,6 +4,7 @@
>  #
>  # create a compressed vmlinux image from the original vmlinux
>  #
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>
>  OBJECTS := head_32.o misc.o cache.o piggy.o \
>             ashiftrt.o ashldi3.o ashrsi3.o ashlsi3.o lshrsi3.o
> diff --git a/arch/sparc/Kbuild b/arch/sparc/Kbuild
> index 71cb3d934bf6c..320a4092b334e 100644
> --- a/arch/sparc/Kbuild
> +++ b/arch/sparc/Kbuild
> @@ -12,3 +12,5 @@ obj-$(CONFIG_SPARC64) += vdso/
>
>  # for cleaning
>  subdir- += boot
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefile
> index 063556fe2cb1d..2a5cba8e68dfd 100644
> --- a/arch/sparc/lib/Makefile
> +++ b/arch/sparc/lib/Makefile
> @@ -4,6 +4,7 @@
>
>  asflags-y := -ansi -DST_DIV0=0x02
>  ccflags-y := -Werror
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>
>  lib-$(CONFIG_SPARC32) += ashrdi3.o
>  lib-$(CONFIG_SPARC32) += memcpy.o memset.o
> diff --git a/arch/sparc/prom/Makefile b/arch/sparc/prom/Makefile
> index 397b79af77f7b..0a82ebb014130 100644
> --- a/arch/sparc/prom/Makefile
> +++ b/arch/sparc/prom/Makefile
> @@ -4,6 +4,7 @@
>  #
>  asflags := -ansi
>  ccflags := -Werror
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
>
>  lib-y                 := bootstr_$(BITS).o
>  lib-y                 += init_$(BITS).o
> diff --git a/arch/xtensa/Kbuild b/arch/xtensa/Kbuild
> index fd12f61745bad..f01d1ca727b97 100644
> --- a/arch/xtensa/Kbuild
> +++ b/arch/xtensa/Kbuild
> @@ -1,2 +1,4 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  obj-y += kernel/ mm/ platforms/ boot/dts/
> +
> +subdir-ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> diff --git a/arch/xtensa/boot/lib/Makefile b/arch/xtensa/boot/lib/Makefile
> index 0378a22a08e33..a9f1c1e139389 100644
> --- a/arch/xtensa/boot/lib/Makefile
> +++ b/arch/xtensa/boot/lib/Makefile
> @@ -8,6 +8,8 @@ zlib    := inffast.c inflate.c inftrees.c
>  lib-y  += $(zlib:.c=.o) zmem.o
>
>  ccflags-y      := -I $(srctree)/lib/zlib_inflate
> +ccflags-$(CONFIG_WNO_MISSING_PROTOTYPES) := -Wno-missing-prototypes -Wno-missing-declarations
> +
>  ifdef CONFIG_FUNCTION_TRACER
>  CFLAGS_REMOVE_inflate.o = -pg
>  CFLAGS_REMOVE_zmem.o = -pg
> diff --git a/init/Kconfig b/init/Kconfig
> index 639e8a3363c30..80cd67c0d7fa4 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -170,6 +170,16 @@ config WERROR
>
>           If in doubt, say Y.
>
> +config WNO_MISSING_PROTOTYPES
> +       bool "Hide -Wmissing-prototype warnings in arch code"
> +       default WERROR || !COMPILE_TEST
> +       help
> +         Some architectures have not yet eliminated all warnings for
> +         missing prototypes in their core code and will produce a lot
> +         of output for these. Ideally these should all be addresszed
> +         by individual bugfix patches, but in the meantime saying 'y'
> +         will skip that output.
> +
>  config UAPI_HEADER_TEST
>         bool "Compile test UAPI headers"
>         depends on HEADERS_INSTALL && CC_CAN_LINK
> --
> 2.39.2
>


-- 
Best Regards
 Guo Ren

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 14/17] kprobes: unify kprobes_exceptions_nofify() prototypes
  2023-08-10 14:19 ` [PATCH 14/17] kprobes: unify kprobes_exceptions_nofify() prototypes Arnd Bergmann
@ 2023-08-11 11:46   ` Masami Hiramatsu
  0 siblings, 0 replies; 52+ messages in thread
From: Masami Hiramatsu @ 2023-08-11 11:46 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Naveen N. Rao, Anil S Keshavamurthy,
	Arnd Bergmann, Vineet Gupta, Russell King, Catalin Marinas,
	Will Deacon, Thomas Bogendoerfer, Michael Ellerman,
	Nicholas Piggin, Christophe Leroy, Heiko Carstens, Vasily Gorbik,
	Alexander Gordeev, Christian Borntraeger, Sven Schnelle,
	Yoshinori Sato, Rich Felker, John Paul Adrian Glaubitz,
	David S. Miller, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	Dave Hansen, x86, H. Peter Anvin, Gaosheng Cui,
	Steven Rostedt (Google),
	Yang Jihong, Jiri Olsa, Alexei Starovoitov, linux-snps-arc,
	linux-arm-kernel, linux-ia64, linux-mips, linuxppc-dev,
	linux-s390, linux-sh, sparclinux, linux-trace-kernel

On Thu, 10 Aug 2023 16:19:32 +0200
Arnd Bergmann <arnd@kernel.org> wrote:

> From: Arnd Bergmann <arnd@arndb.de>
> 
> Most architectures that support kprobes declare this function in their
> own asm/kprobes.h header and provide an override, but some are missing
> the prototype, which causes a warning for the __weak stub implementation:
> 
> kernel/kprobes.c:1865:12: error: no previous prototype for 'kprobe_exceptions_notify' [-Werror=missing-prototypes]
>  1865 | int __weak kprobe_exceptions_notify(struct notifier_block *self,
> 
> Move the prototype into linux/kprobes.h so it is visible to all
> the definitions.

Good catch! and it seems x86 has no implementation, so this is more resonable.

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thank you,

> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/arc/include/asm/kprobes.h     | 3 ---
>  arch/arm/include/asm/kprobes.h     | 2 --
>  arch/arm64/include/asm/kprobes.h   | 2 --
>  arch/ia64/include/asm/kprobes.h    | 2 --
>  arch/mips/include/asm/kprobes.h    | 2 --
>  arch/powerpc/include/asm/kprobes.h | 2 --
>  arch/s390/include/asm/kprobes.h    | 2 --
>  arch/sh/include/asm/kprobes.h      | 2 --
>  arch/sparc/include/asm/kprobes.h   | 2 --
>  arch/x86/include/asm/kprobes.h     | 2 --
>  include/linux/kprobes.h            | 4 ++++
>  11 files changed, 4 insertions(+), 21 deletions(-)
> 
> diff --git a/arch/arc/include/asm/kprobes.h b/arch/arc/include/asm/kprobes.h
> index de1566e32cb89..68e8301c0df2c 100644
> --- a/arch/arc/include/asm/kprobes.h
> +++ b/arch/arc/include/asm/kprobes.h
> @@ -32,9 +32,6 @@ struct kprobe;
>  
>  void arch_remove_kprobe(struct kprobe *p);
>  
> -int kprobe_exceptions_notify(struct notifier_block *self,
> -			     unsigned long val, void *data);
> -
>  struct prev_kprobe {
>  	struct kprobe *kp;
>  	unsigned long status;
> diff --git a/arch/arm/include/asm/kprobes.h b/arch/arm/include/asm/kprobes.h
> index e26a278d301ab..5b8dbf1b0be49 100644
> --- a/arch/arm/include/asm/kprobes.h
> +++ b/arch/arm/include/asm/kprobes.h
> @@ -40,8 +40,6 @@ struct kprobe_ctlblk {
>  
>  void arch_remove_kprobe(struct kprobe *);
>  int kprobe_fault_handler(struct pt_regs *regs, unsigned int fsr);
> -int kprobe_exceptions_notify(struct notifier_block *self,
> -			     unsigned long val, void *data);
>  
>  /* optinsn template addresses */
>  extern __visible kprobe_opcode_t optprobe_template_entry[];
> diff --git a/arch/arm64/include/asm/kprobes.h b/arch/arm64/include/asm/kprobes.h
> index 05cd82eeca136..be7a3680dadff 100644
> --- a/arch/arm64/include/asm/kprobes.h
> +++ b/arch/arm64/include/asm/kprobes.h
> @@ -37,8 +37,6 @@ struct kprobe_ctlblk {
>  
>  void arch_remove_kprobe(struct kprobe *);
>  int kprobe_fault_handler(struct pt_regs *regs, unsigned int fsr);
> -int kprobe_exceptions_notify(struct notifier_block *self,
> -			     unsigned long val, void *data);
>  void __kretprobe_trampoline(void);
>  void __kprobes *trampoline_probe_handler(struct pt_regs *regs);
>  
> diff --git a/arch/ia64/include/asm/kprobes.h b/arch/ia64/include/asm/kprobes.h
> index 9e956768946cc..56004f97df6d2 100644
> --- a/arch/ia64/include/asm/kprobes.h
> +++ b/arch/ia64/include/asm/kprobes.h
> @@ -107,8 +107,6 @@ struct arch_specific_insn {
>  };
>  
>  extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
> -extern int kprobe_exceptions_notify(struct notifier_block *self,
> -				    unsigned long val, void *data);
>  
>  extern void arch_remove_kprobe(struct kprobe *p);
>  
> diff --git a/arch/mips/include/asm/kprobes.h b/arch/mips/include/asm/kprobes.h
> index 68b1e5d458cfb..bc27d99c94363 100644
> --- a/arch/mips/include/asm/kprobes.h
> +++ b/arch/mips/include/asm/kprobes.h
> @@ -71,8 +71,6 @@ struct kprobe_ctlblk {
>  	struct prev_kprobe prev_kprobe;
>  };
>  
> -extern int kprobe_exceptions_notify(struct notifier_block *self,
> -				    unsigned long val, void *data);
>  
>  #endif /* CONFIG_KPROBES */
>  #endif /* _ASM_KPROBES_H */
> diff --git a/arch/powerpc/include/asm/kprobes.h b/arch/powerpc/include/asm/kprobes.h
> index c8e4b4fd4e330..4525a9c68260d 100644
> --- a/arch/powerpc/include/asm/kprobes.h
> +++ b/arch/powerpc/include/asm/kprobes.h
> @@ -84,8 +84,6 @@ struct arch_optimized_insn {
>  	kprobe_opcode_t *insn;
>  };
>  
> -extern int kprobe_exceptions_notify(struct notifier_block *self,
> -					unsigned long val, void *data);
>  extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
>  extern int kprobe_handler(struct pt_regs *regs);
>  extern int kprobe_post_handler(struct pt_regs *regs);
> diff --git a/arch/s390/include/asm/kprobes.h b/arch/s390/include/asm/kprobes.h
> index 83f732ca3af4d..3f87125dd9b0d 100644
> --- a/arch/s390/include/asm/kprobes.h
> +++ b/arch/s390/include/asm/kprobes.h
> @@ -72,8 +72,6 @@ struct kprobe_ctlblk {
>  void arch_remove_kprobe(struct kprobe *p);
>  
>  int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
> -int kprobe_exceptions_notify(struct notifier_block *self,
> -	unsigned long val, void *data);
>  
>  #define flush_insn_slot(p)	do { } while (0)
>  
> diff --git a/arch/sh/include/asm/kprobes.h b/arch/sh/include/asm/kprobes.h
> index eeba83e0a7d29..65d4c3316a5bd 100644
> --- a/arch/sh/include/asm/kprobes.h
> +++ b/arch/sh/include/asm/kprobes.h
> @@ -46,8 +46,6 @@ struct kprobe_ctlblk {
>  };
>  
>  extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
> -extern int kprobe_exceptions_notify(struct notifier_block *self,
> -				    unsigned long val, void *data);
>  extern int kprobe_handle_illslot(unsigned long pc);
>  #else
>  
> diff --git a/arch/sparc/include/asm/kprobes.h b/arch/sparc/include/asm/kprobes.h
> index 06c2bc767ef75..aec742cd898f2 100644
> --- a/arch/sparc/include/asm/kprobes.h
> +++ b/arch/sparc/include/asm/kprobes.h
> @@ -47,8 +47,6 @@ struct kprobe_ctlblk {
>  	struct prev_kprobe prev_kprobe;
>  };
>  
> -int kprobe_exceptions_notify(struct notifier_block *self,
> -			     unsigned long val, void *data);
>  int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
>  asmlinkage void __kprobes kprobe_trap(unsigned long trap_level,
>  				      struct pt_regs *regs);
> diff --git a/arch/x86/include/asm/kprobes.h b/arch/x86/include/asm/kprobes.h
> index a2e9317aad495..5939694dfb28d 100644
> --- a/arch/x86/include/asm/kprobes.h
> +++ b/arch/x86/include/asm/kprobes.h
> @@ -113,8 +113,6 @@ struct kprobe_ctlblk {
>  };
>  
>  extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
> -extern int kprobe_exceptions_notify(struct notifier_block *self,
> -				    unsigned long val, void *data);
>  extern int kprobe_int3_handler(struct pt_regs *regs);
>  
>  #else
> diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
> index 85a64cb95d755..987911cdc90a2 100644
> --- a/include/linux/kprobes.h
> +++ b/include/linux/kprobes.h
> @@ -450,6 +450,10 @@ int kprobe_get_kallsym(unsigned int symnum, unsigned long *value, char *type,
>  
>  int arch_kprobe_get_kallsym(unsigned int *symnum, unsigned long *value,
>  			    char *type, char *sym);
> +
> +int kprobe_exceptions_notify(struct notifier_block *self,
> +			     unsigned long val, void *data);
> +
>  #else /* !CONFIG_KPROBES: */
>  
>  static inline int kprobe_fault_handler(struct pt_regs *regs, int trapnr)
> -- 
> 2.39.2
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally
  2023-08-11  2:33   ` Guo Ren
@ 2023-08-11 18:25     ` Vineet Gupta
  0 siblings, 0 replies; 52+ messages in thread
From: Vineet Gupta @ 2023-08-11 18:25 UTC (permalink / raw)
  To: Guo Ren, Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Arnd Bergmann, Matt Turner,
	Vineet Gupta, Russell King, Catalin Marinas, Will Deacon,
	Brian Cain, Huacai Chen, WANG Xuerui, Geert Uytterhoeven,
	Michal Simek, Thomas Bogendoerfer, Dinh Nguyen, Jonas Bonn,
	Stafford Horne, James E.J. Bottomley, Helge Deller,
	Michael Ellerman, Christophe Leroy, Palmer Dabbelt,
	Heiko Carstens, John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Nathan Chancellor, Nick Desaulniers, Guenter Roeck,
	Stephen Rothwell, linux-next, linux-alpha, linux-snps-arc,
	linux-arm-kernel, linux-csky, linux-hexagon, linux-ia64,
	loongarch, linux-m68k, linux-mips, linux-openrisc, sparclinux,
	Richard Henderson, Ivan Kokshaysky, Stefan Kristiansson,
	Yoshinori Sato, Rich Felker, David S. Miller, Chris Zankel,
	Max Filippov, Christian Brauner, Paul Walmsley, Albert Ou,
	Youling Tang, Tiezhu Yang, Masahiro Yamada, Randy Dunlap,
	Masami Hiramatsu (Google),
	Paul E. McKenney, Miguel Ojeda, Zhen Lei, Xin Li, Nhat Pham,
	Greg Kroah-Hartman, Marc Aurèle La France, Johannes Weiner,
	linux-parisc, linux-sh, linux-riscv


On 8/10/23 19:33, Guo Ren wrote:
> Thx, Arnd, I will clean them up for the csky part.

Likewise, I'll clean up ARC errors this weekend !
It seems most of therm are in the category you mentioned. Non static but 
only used by asm code.

Thx,
-Vineet

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally
  2023-08-10 14:19 ` [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally Arnd Bergmann
  2023-08-10 14:59   ` Christophe Leroy
  2023-08-11  2:33   ` Guo Ren
@ 2023-08-11 20:09   ` Stafford Horne
  2023-08-12  8:02     ` Arnd Bergmann
  2 siblings, 1 reply; 52+ messages in thread
From: Stafford Horne @ 2023-08-11 20:09 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Arnd Bergmann, Matt Turner,
	Vineet Gupta, Russell King, Catalin Marinas, Will Deacon,
	Guo Ren, Brian Cain, Huacai Chen, WANG Xuerui,
	Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer,
	Dinh Nguyen, Jonas Bonn, James E.J. Bottomley, Helge Deller,
	Michael Ellerman, Christophe Leroy, Palmer Dabbelt,
	Heiko Carstens, John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Nathan Chancellor, Nick Desaulniers, Guenter Roeck,
	Stephen Rothwell, linux-next, linux-alpha, linux-snps-arc,
	linux-arm-kernel, linux-csky, linux-hexagon, linux-ia64,
	loongarch, linux-m68k, linux-mips, linux-openrisc, sparclinux,
	Richard Henderson, Ivan Kokshaysky, Stefan Kristiansson,
	Yoshinori Sato, Rich Felker, David S. Miller, Chris Zankel,
	Max Filippov, Christian Brauner, Paul Walmsley, Albert Ou,
	Youling Tang, Tiezhu Yang, Masahiro Yamada, Randy Dunlap,
	Masami Hiramatsu (Google),
	Paul E. McKenney, Miguel Ojeda, Zhen Lei, Xin Li, Nhat Pham,
	Greg Kroah-Hartman, Marc Aurèle La France, Johannes Weiner,
	linux-parisc, linux-sh, linux-riscv

On Thu, Aug 10, 2023 at 04:19:34PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
,,, 
> ---
> Below is the full list of warnings I see in defconfig builds for reference, these
> do not need to be part of the changelog.
...
> arch/openrisc/kernel/process.c:100:6: error: no previous prototype for 'arch_cpu_idle' [-Werror=missing-prototypes]
> arch/openrisc/kernel/process.c:240:21: error: no previous prototype for '__switch_to' [-Werror=missing-prototypes]
> arch/openrisc/kernel/ptrace.c:191:17: error: no previous prototype for 'do_syscall_trace_enter' [-Werror=missing-prototypes]
> arch/openrisc/kernel/ptrace.c:210:17: error: no previous prototype for 'do_syscall_trace_leave' [-Werror=missing-prototypes]
> arch/openrisc/kernel/signal.c:227:5: error: no previous prototype for 'do_signal' [-Werror=missing-prototypes]
> arch/openrisc/kernel/signal.c:293:1: error: no previous prototype for 'do_work_pending' [-Werror=missing-prototypes]
> arch/openrisc/kernel/signal.c:68:17: error: no previous prototype for '_sys_rt_sigreturn' [-Werror=missing-prototypes]
> arch/openrisc/kernel/time.c:111:25: error: no previous prototype for 'timer_interrupt' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:146:6: error: no previous prototype for 'nommu_dump_state' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:221:17: error: no previous prototype for 'die' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:239:17: error: no previous prototype for 'unhandled_exception' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:246:17: error: no previous prototype for 'do_fpe_trap' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:268:17: error: no previous prototype for 'do_trap' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:273:17: error: no previous prototype for 'do_unaligned_access' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:286:17: error: no previous prototype for 'do_bus_fault' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:462:17: error: no previous prototype for 'do_illegal_instruction' [-Werror=missing-prototypes]
> arch/openrisc/kernel/traps.c:67:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
> arch/openrisc/mm/fault.c:44:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
> arch/openrisc/mm/tlb.c:188:13: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]

I'll try to get these fixed for 6.6.  I was looking at them recently but did not
actually make any changes and just put on my TODO.  Your series moves it up in
priority and it should be easy to get the fixes out.

...

> diff --git a/init/Kconfig b/init/Kconfig
> index 639e8a3363c30..80cd67c0d7fa4 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -170,6 +170,16 @@ config WERROR
>  
>  	  If in doubt, say Y.
>  
> +config WNO_MISSING_PROTOTYPES
> +	bool "Hide -Wmissing-prototype warnings in arch code"
> +	default WERROR || !COMPILE_TEST
> +	help
> +	  Some architectures have not yet eliminated all warnings for
> +	  missing prototypes in their core code and will produce a lot
> +	  of output for these. Ideally these should all be addresszed

addressed

> +	  by individual bugfix patches, but in the meantime saying 'y'
> +	  will skip that output.
> +
>  config UAPI_HEADER_TEST
>  	bool "Compile test UAPI headers"
>  	depends on HEADERS_INSTALL && CC_CAN_LINK

-Stafford

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 02/17] [RESEND] irq_work: consolidate arch_irq_work_raise prototypes
  2023-08-10 14:19 ` [PATCH 02/17] [RESEND] irq_work: consolidate arch_irq_work_raise prototypes Arnd Bergmann
@ 2023-08-11 22:10   ` Masahiro Yamada
  2023-08-12  7:34     ` Arnd Bergmann
  0 siblings, 1 reply; 52+ messages in thread
From: Masahiro Yamada @ 2023-08-11 22:10 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Arnd Bergmann, Catalin Marinas,
	Palmer Dabbelt, Guo Ren, Alexander Gordeev, Russell King,
	Will Deacon, Michael Ellerman, Nicholas Piggin, Christophe Leroy,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens,
	Vasily Gorbik, Christian Borntraeger, Sven Schnelle,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	H. Peter Anvin, linux-arm-kernel, linux-csky, linuxppc-dev,
	linux-riscv, linux-s390

On Fri, Aug 11, 2023 at 10:00 AM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> The prototype was hidden on x86, which causes a warning:


What do you mean by "hidden on x86"?

arch_irq_work_raise() was declared on 7 architectures,
including x86.




>
> kernel/irq_work.c:72:13: error: no previous prototype for 'arch_irq_work_raise' [-Werror=missing-prototypes]
>
> Fix this by providing it in only one place that is always visible.
>
> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
> Acked-by: Guo Ren <guoren@kernel.org>
> Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/arm/include/asm/irq_work.h     | 2 --
>  arch/arm64/include/asm/irq_work.h   | 2 --
>  arch/csky/include/asm/irq_work.h    | 2 +-
>  arch/powerpc/include/asm/irq_work.h | 1 -
>  arch/riscv/include/asm/irq_work.h   | 2 +-
>  arch/s390/include/asm/irq_work.h    | 2 --
>  arch/x86/include/asm/irq_work.h     | 1 -
>  include/linux/irq_work.h            | 3 +++
>  8 files changed, 5 insertions(+), 10 deletions(-)
>


--
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 15/17] arch: fix asm-offsets.c building with -Wmissing-prototypes
  2023-08-10 14:19 ` [PATCH 15/17] arch: fix asm-offsets.c building with -Wmissing-prototypes Arnd Bergmann
@ 2023-08-11 22:12   ` Masahiro Yamada
  2023-08-12  7:46     ` Arnd Bergmann
  0 siblings, 1 reply; 52+ messages in thread
From: Masahiro Yamada @ 2023-08-11 22:12 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Arnd Bergmann, Richard Henderson,
	Ivan Kokshaysky, Matt Turner, Huacai Chen, WANG Xuerui,
	David S. Miller, Al Viro, Steven Rostedt (Google),
	Qing Zhang, Donglin Peng, Qi Hu, linux-alpha, linux-ia64,
	loongarch, sparclinux

On Sat, Aug 12, 2023 at 3:30 AM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> When -Wmissing-prototypes is enabled, the some asm-offsets.c files fail
> to build, even when this warning is disabled in the Makefile for normal
> files:
>
> arch/sparc/kernel/asm-offsets.c:22:5: error: no previous prototype for 'sparc32_foo' [-Werror=missing-prototypes]
> arch/sparc/kernel/asm-offsets.c:48:5: error: no previous prototype for 'foo' [-Werror=missing-prototypes]
>
> Address this by making use of the same trick we have on other architectures,
> renaming the unused global function to main(), which has an implicit
> prototype.


main() only works for one function call, but
there are some cases where splitting the code
into some functions makes the code cleaner.




> On loongarch, there are many functions in this file, so the trick does
> not work, adding explicit declarations works around it in a slightly
> more ugly way but is the best I could come up with here.

I do not like repeating the function names.

Could you try "static + __used" as in
arch/x86/kernel/asm-offsets.c ?





--
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 02/17] [RESEND] irq_work: consolidate arch_irq_work_raise prototypes
  2023-08-11 22:10   ` Masahiro Yamada
@ 2023-08-12  7:34     ` Arnd Bergmann
  0 siblings, 0 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-12  7:34 UTC (permalink / raw)
  To: Masahiro Yamada, Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Catalin Marinas, Palmer Dabbelt,
	guoren, Alexander Gordeev, Russell King, Will Deacon,
	Michael Ellerman, Nicholas Piggin, Christophe Leroy,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens,
	Vasily Gorbik, Christian Borntraeger, Sven Schnelle,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	H. Peter Anvin, linux-arm-kernel, linux-csky, linuxppc-dev,
	linux-riscv, linux-s390

On Sat, Aug 12, 2023, at 00:10, Masahiro Yamada wrote:
> On Fri, Aug 11, 2023 at 10:00 AM Arnd Bergmann <arnd@kernel.org> wrote:
>>
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> The prototype was hidden on x86, which causes a warning:
>
>
> What do you mean by "hidden on x86"?
>
> arch_irq_work_raise() was declared on 7 architectures,
> including x86.
>

I meant hidden in some configurations. Specifically, x86
only declares the function when it overrides it for
CONFIG_X86_LOCAL_APIC, while without that option the generic
stub still gets compiled but is never declared.

    Arnd

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 15/17] arch: fix asm-offsets.c building with -Wmissing-prototypes
  2023-08-11 22:12   ` Masahiro Yamada
@ 2023-08-12  7:46     ` Arnd Bergmann
  0 siblings, 0 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-12  7:46 UTC (permalink / raw)
  To: Masahiro Yamada, Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Richard Henderson, Ivan Kokshaysky,
	Matt Turner, Huacai Chen, WANG Xuerui, David S . Miller,
	Alexander Viro, Steven Rostedt, Qing Zhang, Donglin Peng, Qi Hu,
	linux-alpha, linux-ia64, loongarch, sparclinux

On Sat, Aug 12, 2023, at 00:12, Masahiro Yamada wrote:
> On Sat, Aug 12, 2023 at 3:30 AM Arnd Bergmann <arnd@kernel.org> wrote:
>>
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> When -Wmissing-prototypes is enabled, the some asm-offsets.c files fail
>> to build, even when this warning is disabled in the Makefile for normal
>> files:
>>
>> arch/sparc/kernel/asm-offsets.c:22:5: error: no previous prototype for 'sparc32_foo' [-Werror=missing-prototypes]
>> arch/sparc/kernel/asm-offsets.c:48:5: error: no previous prototype for 'foo' [-Werror=missing-prototypes]
>>
>> Address this by making use of the same trick we have on other architectures,
>> renaming the unused global function to main(), which has an implicit
>> prototype.
>
>
> main() only works for one function call, but
> there are some cases where splitting the code
> into some functions makes the code cleaner.

Right, I went with main() as that is already used on a couple
of architectures.

>> On loongarch, there are many functions in this file, so the trick does
>> not work, adding explicit declarations works around it in a slightly
>> more ugly way but is the best I could come up with here.
>
> I do not like repeating the function names.
>
> Could you try "static + __used" as in
> arch/x86/kernel/asm-offsets.c ?

Sure, that should work, I had not noticed x86 doing it like this
and I agree it's slightly nicer.

In this case, Thomas Bogendoerfer already merged my patch for MIPS
in 6.5. The loongarch file I change here is a copy of the same file,
so we probably want them to stay consistent, either keeping my
change for now, or reworking mips along the same lines.

    Arnd

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally
  2023-08-11 20:09   ` Stafford Horne
@ 2023-08-12  8:02     ` Arnd Bergmann
  0 siblings, 0 replies; 52+ messages in thread
From: Arnd Bergmann @ 2023-08-12  8:02 UTC (permalink / raw)
  To: Stafford Horne, Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, Matt Turner, Vineet Gupta,
	Russell King, Catalin Marinas, Will Deacon, guoren, Brian Cain,
	Huacai Chen, WANG Xuerui, Geert Uytterhoeven, Michal Simek,
	Thomas Bogendoerfer, Dinh Nguyen, Jonas Bonn,
	James E . J . Bottomley, Helge Deller, Michael Ellerman,
	Christophe Leroy, Palmer Dabbelt, Heiko Carstens,
	John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Nathan Chancellor, Nick Desaulniers, Guenter Roeck,
	Stephen Rothwell, linux-next, linux-alpha, linux-snps-arc,
	linux-arm-kernel, linux-csky, linux-hexagon, linux-ia64,
	loongarch, linux-m68k, linux-mips, linux-openrisc, sparclinux,
	Richard Henderson, Ivan Kokshaysky, Stefan Kristiansson,
	Yoshinori Sato, Rich Felker, David S . Miller, Chris Zankel,
	Max Filippov, Christian Brauner, Paul Walmsley, Albert Ou,
	Youling Tang, Tiezhu Yang, Masahiro Yamada, Randy Dunlap,
	Masami Hiramatsu, Paul E. McKenney, Miguel Ojeda, Zhen Lei,
	Xin Li, Nhat Pham, Greg Kroah-Hartman,
	Marc Aurèle La France, Johannes Weiner, linux-parisc,
	linux-sh, linux-riscv

On Fri, Aug 11, 2023, at 22:09, Stafford Horne wrote:
> On Thu, Aug 10, 2023 at 04:19:34PM +0200, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>

>> arch/openrisc/mm/fault.c:44:17: error: no previous prototype for 'do_page_fault' [-Werror=missing-prototypes]
>> arch/openrisc/mm/tlb.c:188:13: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
>
> I'll try to get these fixed for 6.6.  I was looking at them recently but did not
> actually make any changes and just put on my TODO.  Your series moves it up in
> priority and it should be easy to get the fixes out.

Thanks!

Since we already have the majority of architecture maintainers stepping
in to fix the warnings, I wonder if I should just drop my patch 16/17
completely and let the others handle it as well rather than shutting up
the warnings. Only the asm-offsets change is really needed to compile
test most of the kernel even with CONFIG_WERROR, and without that this
is just some harmless output.

    Arnd

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 00/17] -Wmissing-prototype warning fixes
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (16 preceding siblings ...)
  2023-08-10 14:19 ` [PATCH 17/17] [RFC] Makefile.extrawarn: turn on missing-prototypes again Arnd Bergmann
@ 2023-08-16 14:38 ` Palmer Dabbelt
  2023-08-23 11:55 ` (subset) " Michael Ellerman
  2023-08-25  1:12 ` Martin K. Petersen
  19 siblings, 0 replies; 52+ messages in thread
From: Palmer Dabbelt @ 2023-08-16 14:38 UTC (permalink / raw)
  To: arnd
  Cc: akpm, linux-kernel, Arnd Bergmann, mattst88, vgupta, linux,
	Catalin Marinas, Will Deacon, guoren, bcain, chenhuacai, kernel,
	geert, monstr, tsbogend, dinguyen, jonas, stefan.kristiansson,
	shorne, James.Bottomley, deller, mpe, christophe.leroy, hca,
	glaubitz, x86, bp, jcmvbkbc, axboe, sudipm.mukherjee,
	martin.petersen, richard, bhelgaas, masahiroy, nathan,
	ndesaulniers, linux, Stephen Rothwell, linux-next, linux-alpha,
	linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
	linux-ia64, loongarch, linux-m68k, linux-mips, linux-openrisc,
	linux-parisc, linuxppc-dev, linux-riscv, linux-s390, linux-sh,
	sparclinux, linux-block, linux-scsi, linux-mtd,
	linux-trace-kernel, linux-pci, linux-kbuild

On Thu, 10 Aug 2023 07:19:18 PDT (-0700), arnd@kernel.org wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> Most of the patches I sent so far for the -Wmissing-prototype warnings
> have made it into linux-next now. There are a few that I'm resending
> now as nobody has picked them up, and then a number of fixes that I
> found while test-building across all architectures rather than just the
> ones I usually test.
>
> The first 15 patches in this series should be uncontroversial, so
> I expect that either a subsystem maintainer or Andrew Morton can
> apply these directly.
>
> For the last two patches, these might still need some debate about how
> to handle them. I added a Kconfig option to turn off most of the missing
> prototype warnings in the architectures that nobody has fixed yet,
> see patch 16 for those. The last patch does cause some known warnings
> and likely unknown ones for architectures other than x86 and arm,
> so applying it now will bring new problems, but not applying it also
> means that new warnings creep in, so I think this is mainly a question
> of what the best timing is for having this in linux-next.
>
> Arnd Bergmann (17):
>   [RESEND] jffs2: mark __jffs2_dbg_superblock_counts() static
>   [RESEND] irq_work: consolidate arch_irq_work_raise prototypes
>   [RESEND] ida: make 'ida_dump' static
>   pci: sysfs: move declarations to linux/pci.h
>   swim3: mark swim3_init() static
>   macintosh/ams: mark ams_init() static
>   scsi: qlogicpti: mark qlogicpti_info() static
>   microblaze: mark flush_dcache_folio() inline
>   parport: gsc: mark init function static
>   zorro: include zorro.h in names.c
>   scsi: gvp11: remove unused gvp11_setup() function
>   time: make sysfs_get_uname() function visible in header
>   stackleak: add declarations for global functions
>   kprobes: unify kprobes_exceptions_nofify() prototypes
>   arch: fix asm-offsets.c building with -Wmissing-prototypes
>   [RFC] arch: turn -Wmissing-prototypes off conditionally
>   [RFC] Makefile.extrawarn: turn on missing-prototypes again
>
>  arch/alpha/Kbuild                        |  2 ++
>  arch/alpha/include/asm/pci.h             |  3 ---
>  arch/alpha/kernel/asm-offsets.c          |  2 +-
>  arch/alpha/lib/Makefile                  |  1 +
>  arch/arc/Kbuild                          |  2 ++
>  arch/arc/include/asm/kprobes.h           |  3 ---
>  arch/arm/include/asm/irq_work.h          |  2 --
>  arch/arm/include/asm/kprobes.h           |  2 --
>  arch/arm64/include/asm/irq_work.h        |  2 --
>  arch/arm64/include/asm/kprobes.h         |  2 --
>  arch/csky/Kbuild                         |  2 ++
>  arch/csky/include/asm/irq_work.h         |  2 +-
>  arch/hexagon/Kbuild                      |  2 ++
>  arch/ia64/Kbuild                         |  2 ++
>  arch/ia64/include/asm/kprobes.h          |  2 --
>  arch/ia64/kernel/asm-offsets.c           |  2 +-
>  arch/ia64/lib/Makefile                   |  1 +
>  arch/loongarch/Kbuild                    |  2 ++
>  arch/loongarch/kernel/asm-offsets.c      | 12 ++++++++++++
>  arch/m68k/Kbuild                         |  2 ++
>  arch/m68k/lib/Makefile                   |  1 +
>  arch/microblaze/Kbuild                   |  2 ++
>  arch/microblaze/include/asm/cacheflush.h |  2 +-
>  arch/mips/Kbuild                         |  2 ++
>  arch/mips/boot/compressed/Makefile       |  3 ++-
>  arch/mips/include/asm/kprobes.h          |  2 --
>  arch/nios2/Kbuild                        |  2 ++
>  arch/nios2/lib/Makefile                  |  1 +
>  arch/openrisc/Kbuild                     |  2 ++
>  arch/parisc/Kbuild                       |  2 ++
>  arch/parisc/lib/Makefile                 |  1 +
>  arch/powerpc/include/asm/irq_work.h      |  1 -
>  arch/powerpc/include/asm/kprobes.h       |  2 --
>  arch/riscv/include/asm/irq_work.h        |  2 +-
>  arch/s390/include/asm/irq_work.h         |  2 --
>  arch/s390/include/asm/kprobes.h          |  2 --
>  arch/sh/Kbuild                           |  2 ++
>  arch/sh/boot/compressed/Makefile         |  1 +
>  arch/sh/include/asm/kprobes.h            |  2 --
>  arch/sparc/Kbuild                        |  2 ++
>  arch/sparc/include/asm/kprobes.h         |  2 --
>  arch/sparc/kernel/asm-offsets.c          | 13 ++-----------
>  arch/sparc/lib/Makefile                  |  1 +
>  arch/sparc/prom/Makefile                 |  1 +
>  arch/x86/include/asm/irq_work.h          |  1 -
>  arch/x86/include/asm/kprobes.h           |  2 --
>  arch/xtensa/Kbuild                       |  2 ++
>  arch/xtensa/boot/lib/Makefile            |  2 ++
>  drivers/block/swim3.c                    |  2 +-
>  drivers/macintosh/ams/ams-core.c         |  2 +-
>  drivers/parport/parport_gsc.c            |  2 +-
>  drivers/scsi/gvp11.c                     |  5 -----
>  drivers/scsi/qlogicpti.c                 |  2 +-
>  drivers/zorro/names.c                    |  1 +
>  fs/jffs2/debug.c                         |  2 +-
>  include/linux/irq_work.h                 |  3 +++
>  include/linux/kprobes.h                  |  4 ++++
>  include/linux/pci.h                      |  5 +++++
>  include/linux/stackleak.h                |  6 ++++++
>  init/Kconfig                             | 10 ++++++++++
>  kernel/time/tick-internal.h              |  3 ++-
>  lib/test_ida.c                           |  2 +-
>  scripts/Makefile.extrawarn               |  5 +++--
>  63 files changed, 101 insertions(+), 63 deletions(-)

Acked-by: Palmer Dabbelt <palmer@rivosinc.com> # RISC-V

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 10/17] zorro: include zorro.h in names.c
  2023-08-10 14:19 ` [PATCH 10/17] zorro: include zorro.h in names.c Arnd Bergmann
@ 2023-08-16 15:49   ` Geert Uytterhoeven
  0 siblings, 0 replies; 52+ messages in thread
From: Geert Uytterhoeven @ 2023-08-16 15:49 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: Andrew Morton, linux-kernel, Arnd Bergmann, linux-m68k

On Thu, Aug 10, 2023 at 4:22 PM Arnd Bergmann <arnd@kernel.org> wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> The zorro_name_device() function is defined in drivers/zorror/names.c, but
> the declaration is not visible there:
>
> drivers/zorro/names.c:58:13: error: no previous prototype for 'zorro_name_device' [-Werror=missing-prototypes]
>    58 | void __init zorro_name_device(struct zorro_dev *dev)
>
> Include the header to avoid the warning.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
i.e. will queue in the m68k for-v6.6 branch, with the "zorror" typo fixed.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 11/17] scsi: gvp11: remove unused gvp11_setup() function
  2023-08-10 14:19 ` [PATCH 11/17] scsi: gvp11: remove unused gvp11_setup() function Arnd Bergmann
@ 2023-08-16 15:52   ` Geert Uytterhoeven
  2023-08-21 20:38   ` Martin K. Petersen
  1 sibling, 0 replies; 52+ messages in thread
From: Geert Uytterhoeven @ 2023-08-16 15:52 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, James E.J. Bottomley,
	Martin K. Petersen, Arnd Bergmann, Bart Van Assche, linux-scsi

On Thu, Aug 10, 2023 at 4:35 PM Arnd Bergmann <arnd@kernel.org> wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> This function has no declaration, which causes a warning:
>
> drivers/scsi/gvp11.c:53:6: error: no previous prototype for 'gvp11_setup' [-Werror=missing-prototypes]
>
> Since there is also no caller, just remove the function.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 07/17] scsi: qlogicpti: mark qlogicpti_info() static
  2023-08-10 14:19 ` [PATCH 07/17] scsi: qlogicpti: mark qlogicpti_info() static Arnd Bergmann
  2023-08-10 14:27   ` Jinpu Wang
@ 2023-08-21 20:38   ` Martin K. Petersen
  1 sibling, 0 replies; 52+ messages in thread
From: Martin K. Petersen @ 2023-08-21 20:38 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, James E.J. Bottomley,
	Martin K. Petersen, Arnd Bergmann, Rob Herring, Bart Van Assche,
	Jack Wang, linux-scsi


Arnd,

> The qlogicpti_info() function is only used in this file and should be
> static to avoid a warning:
>
> drivers/scsi/qlogicpti.c:846:13: error: no previous prototype for
> 'qlogicpti_info' [-Werror=missing-prototypes]

Applied to 6.6/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 11/17] scsi: gvp11: remove unused gvp11_setup() function
  2023-08-10 14:19 ` [PATCH 11/17] scsi: gvp11: remove unused gvp11_setup() function Arnd Bergmann
  2023-08-16 15:52   ` Geert Uytterhoeven
@ 2023-08-21 20:38   ` Martin K. Petersen
  1 sibling, 0 replies; 52+ messages in thread
From: Martin K. Petersen @ 2023-08-21 20:38 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, James E.J. Bottomley,
	Martin K. Petersen, Arnd Bergmann, Bart Van Assche, linux-scsi


Arnd,

> This function has no declaration, which causes a warning:
>
> drivers/scsi/gvp11.c:53:6: error: no previous prototype for
> 'gvp11_setup' [-Werror=missing-prototypes]
>
> Since there is also no caller, just remove the function.

Applied to 6.6/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 08/17] microblaze: mark flush_dcache_folio() inline
  2023-08-10 14:19 ` [PATCH 08/17] microblaze: mark flush_dcache_folio() inline Arnd Bergmann
@ 2023-08-23  7:34   ` Michal Simek
  0 siblings, 0 replies; 52+ messages in thread
From: Michal Simek @ 2023-08-23  7:34 UTC (permalink / raw)
  To: Arnd Bergmann, Andrew Morton, linux-kernel,
	Matthew Wilcox (Oracle), Mike Rapoport (IBM)
  Cc: Arnd Bergmann



On 8/10/23 16:19, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The newly added flush_dcache_folio() causes a harmless warning that
> turns into a build failure with CONFIG_WERROR:
> 
> arch/microblaze/include/asm/cacheflush.h:77:13: error: 'flush_dcache_folio' defined but not used [-Werror=unused-function]
> 
> Mark it as inline to avoid this.
> 
> Fixes: 1330c94f53996 ("microblaze: implement the new page table range API")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>   arch/microblaze/include/asm/cacheflush.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/microblaze/include/asm/cacheflush.h b/arch/microblaze/include/asm/cacheflush.h
> index e6641ff98cb30..ffa2cf3893e4b 100644
> --- a/arch/microblaze/include/asm/cacheflush.h
> +++ b/arch/microblaze/include/asm/cacheflush.h
> @@ -74,7 +74,7 @@ do { \
>   	flush_dcache_range((unsigned) (addr), (unsigned) (addr) + PAGE_SIZE); \
>   } while (0);
>   
> -static void flush_dcache_folio(struct folio *folio)
> +static inline void flush_dcache_folio(struct folio *folio)
>   {
>   	unsigned long addr = folio_pfn(folio) << PAGE_SHIFT;
>   

This patch depends on e77d93073327 ("microblaze: implement the new page table
range API")
which has been taken by Andrew via his tree that's why

Acked-by: Michal Simek <michal.simek@amd.com>

If this is not pick up by Andrew I will take it after merge windows is closed.

Thanks,
Michal


-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP/Versal ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal/Versal NET SoCs
TF-A maintainer - Xilinx ZynqMP/Versal/Versal NET SoCs

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: (subset) [PATCH 00/17] -Wmissing-prototype warning fixes
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (17 preceding siblings ...)
  2023-08-16 14:38 ` [PATCH 00/17] -Wmissing-prototype warning fixes Palmer Dabbelt
@ 2023-08-23 11:55 ` Michael Ellerman
  2023-08-25  1:12 ` Martin K. Petersen
  19 siblings, 0 replies; 52+ messages in thread
From: Michael Ellerman @ 2023-08-23 11:55 UTC (permalink / raw)
  To: linux-kernel, Arnd Bergmann; +Cc: linuxppc-dev

On Thu, 10 Aug 2023 16:19:18 +0200, Arnd Bergmann wrote:
> Most of the patches I sent so far for the -Wmissing-prototype warnings
> have made it into linux-next now. There are a few that I'm resending
> now as nobody has picked them up, and then a number of fixes that I
> found while test-building across all architectures rather than just the
> ones I usually test.
> 
> The first 15 patches in this series should be uncontroversial, so
> I expect that either a subsystem maintainer or Andrew Morton can
> apply these directly.
> 
> [...]

Applied to powerpc/next.

[06/17] macintosh/ams: mark ams_init() static
        https://git.kernel.org/powerpc/c/cd50430ceb3598957803934068531a274349bcf9

cheers

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: (subset) [PATCH 00/17] -Wmissing-prototype warning fixes
  2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
                   ` (18 preceding siblings ...)
  2023-08-23 11:55 ` (subset) " Michael Ellerman
@ 2023-08-25  1:12 ` Martin K. Petersen
  2023-08-25  1:30   ` Michael Schmitz
  19 siblings, 1 reply; 52+ messages in thread
From: Martin K. Petersen @ 2023-08-25  1:12 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel, Arnd Bergmann
  Cc: Martin K . Petersen, Arnd Bergmann, Matt Turner, Vineet Gupta,
	Russell King, Catalin Marinas, Will Deacon, Guo Ren, Brian Cain,
	Huacai Chen, WANG Xuerui, Geert Uytterhoeven, Michal Simek,
	Thomas Bogendoerfer, Dinh Nguyen, Jonas Bonn,
	Stefan Kristiansson, Stafford Horne, James E.J. Bottomley,
	Helge Deller, Michael Ellerman, Christophe Leroy, Palmer Dabbelt,
	Heiko Carstens, John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Max Filippov, Jens Axboe, Sudip Mukherjee, Richard Weinberger,
	Bjorn Helgaas, Masahiro Yamada, Nathan Chancellor,
	Nick Desaulniers, Guenter Roeck, Stephen Rothwell, linux-next,
	linux-alpha, linux-snps-arc, linux-arm-kernel, linux-csky,
	linux-hexagon, linux-ia64, loongarch, linux-m68k, linux-mips,
	linux-openrisc, linux-parisc, linuxppc-dev, linux-riscv,
	linux-s390, linux-sh, sparclinux, linux-block, linux-scsi,
	linux-mtd, linux-trace-kernel, linux-pci, linux-kbuild

On Thu, 10 Aug 2023 16:19:18 +0200, Arnd Bergmann wrote:

> Most of the patches I sent so far for the -Wmissing-prototype warnings
> have made it into linux-next now. There are a few that I'm resending
> now as nobody has picked them up, and then a number of fixes that I
> found while test-building across all architectures rather than just the
> ones I usually test.
> 
> The first 15 patches in this series should be uncontroversial, so
> I expect that either a subsystem maintainer or Andrew Morton can
> apply these directly.
> 
> [...]

Applied to 6.6/scsi-queue, thanks!

[07/17] scsi: qlogicpti: mark qlogicpti_info() static
        https://git.kernel.org/mkp/scsi/c/71cc486335c4
[11/17] scsi: gvp11: remove unused gvp11_setup() function
        https://git.kernel.org/mkp/scsi/c/bfaa4a0ce1bb

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: (subset) [PATCH 00/17] -Wmissing-prototype warning fixes
  2023-08-25  1:12 ` Martin K. Petersen
@ 2023-08-25  1:30   ` Michael Schmitz
  2023-08-25  7:39     ` Geert Uytterhoeven
  0 siblings, 1 reply; 52+ messages in thread
From: Michael Schmitz @ 2023-08-25  1:30 UTC (permalink / raw)
  To: Martin K. Petersen, Andrew Morton, linux-kernel, Arnd Bergmann
  Cc: Arnd Bergmann, Matt Turner, Vineet Gupta, Russell King,
	Catalin Marinas, Will Deacon, Guo Ren, Brian Cain, Huacai Chen,
	WANG Xuerui, Geert Uytterhoeven, Michal Simek,
	Thomas Bogendoerfer, Dinh Nguyen, Jonas Bonn,
	Stefan Kristiansson, Stafford Horne, James E.J. Bottomley,
	Helge Deller, Michael Ellerman, Christophe Leroy, Palmer Dabbelt,
	Heiko Carstens, John Paul Adrian Glaubitz, x86, Borislav Petkov,
	Max Filippov, Jens Axboe, Sudip Mukherjee, Richard Weinberger,
	Bjorn Helgaas, Masahiro Yamada, Nathan Chancellor,
	Nick Desaulniers, Guenter Roeck, Stephen Rothwell, linux-next,
	linux-alpha, linux-snps-arc, linux-arm-kernel, linux-csky,
	linux-hexagon, linux-ia64, loongarch, linux-m68k, linux-mips,
	linux-openrisc, linux-parisc, linuxppc-dev, linux-riscv,
	linux-s390, linux-sh, sparclinux, linux-block, linux-scsi,
	linux-mtd, linux-trace-kernel, linux-pci, linux-kbuild

Hi Martin, Arnd,

On 25/08/23 13:12, Martin K. Petersen wrote:
> On Thu, 10 Aug 2023 16:19:18 +0200, Arnd Bergmann wrote:
>
>> Most of the patches I sent so far for the -Wmissing-prototype warnings
>> have made it into linux-next now. There are a few that I'm resending
>> now as nobody has picked them up, and then a number of fixes that I
>> found while test-building across all architectures rather than just the
>> ones I usually test.
>>
>> The first 15 patches in this series should be uncontroversial, so
>> I expect that either a subsystem maintainer or Andrew Morton can
>> apply these directly.
>>
>> [...]
> Applied to 6.6/scsi-queue, thanks!
>
> [07/17] scsi: qlogicpti: mark qlogicpti_info() static
>          https://git.kernel.org/mkp/scsi/c/71cc486335c4
> [11/17] scsi: gvp11: remove unused gvp11_setup() function
>          https://git.kernel.org/mkp/scsi/c/bfaa4a0ce1bb

I somehow missed that one ...

The gvp11_setup() function was probably a relic from the times before 
module parameters.

Since gvp11_xfer_mask appears to be required for some Amiga systems to 
set the DMA mask, I'd best send a patch to add such a module parameter ...

Do you know any details around the use of DMA masks for Amiga WD33C93 
drivers, Geert?

Cheers,

     Michael


>

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: (subset) [PATCH 00/17] -Wmissing-prototype warning fixes
  2023-08-25  1:30   ` Michael Schmitz
@ 2023-08-25  7:39     ` Geert Uytterhoeven
  2023-08-25 22:44       ` Michael Schmitz
  0 siblings, 1 reply; 52+ messages in thread
From: Geert Uytterhoeven @ 2023-08-25  7:39 UTC (permalink / raw)
  To: Michael Schmitz
  Cc: Martin K. Petersen, Andrew Morton, linux-kernel, Arnd Bergmann,
	Arnd Bergmann, Matt Turner, Vineet Gupta, Russell King,
	Catalin Marinas, Will Deacon, Guo Ren, Brian Cain, Huacai Chen,
	WANG Xuerui, Michal Simek, Thomas Bogendoerfer, Dinh Nguyen,
	Jonas Bonn, Stefan Kristiansson, Stafford Horne,
	James E.J. Bottomley, Helge Deller, Michael Ellerman,
	Christophe Leroy, Palmer Dabbelt, Heiko Carstens,
	John Paul Adrian Glaubitz, x86, Borislav Petkov, Max Filippov,
	Jens Axboe, Sudip Mukherjee, Richard Weinberger, Bjorn Helgaas,
	Masahiro Yamada, Nathan Chancellor, Nick Desaulniers,
	Guenter Roeck, Stephen Rothwell, linux-next, linux-alpha,
	linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
	linux-ia64, loongarch, linux-m68k, linux-mips, linux-openrisc,
	linux-parisc, linuxppc-dev, linux-riscv, linux-s390, linux-sh,
	sparclinux, linux-block, linux-scsi, linux-mtd,
	linux-trace-kernel, linux-pci, linux-kbuild

Hi Michael,

On Fri, Aug 25, 2023 at 3:31 AM Michael Schmitz <schmitzmic@gmail.com> wrote:
> On 25/08/23 13:12, Martin K. Petersen wrote:
> > [11/17] scsi: gvp11: remove unused gvp11_setup() function
> >          https://git.kernel.org/mkp/scsi/c/bfaa4a0ce1bb
>
> I somehow missed that one ...
>
> The gvp11_setup() function was probably a relic from the times before
> module parameters.
>
> Since gvp11_xfer_mask appears to be required for some Amiga systems to
> set the DMA mask, I'd best send a patch to add such a module parameter ...
>
> Do you know any details around the use of DMA masks for Amiga WD33C93
> drivers, Geert?

Doh, it's been a while, and I never had an affected system.
Probably it's needed on A2000 with an accelerator card and GVP II SCSI,
to prevent DMA to RAM banks that do not support fast DMA cycles.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: (subset) [PATCH 00/17] -Wmissing-prototype warning fixes
  2023-08-25  7:39     ` Geert Uytterhoeven
@ 2023-08-25 22:44       ` Michael Schmitz
  2023-08-28  6:42         ` Geert Uytterhoeven
  0 siblings, 1 reply; 52+ messages in thread
From: Michael Schmitz @ 2023-08-25 22:44 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Martin K. Petersen, Andrew Morton, linux-kernel, Arnd Bergmann,
	Arnd Bergmann, Matt Turner, Vineet Gupta, Russell King,
	Catalin Marinas, Will Deacon, Guo Ren, Brian Cain, Huacai Chen,
	WANG Xuerui, Michal Simek, Thomas Bogendoerfer, Dinh Nguyen,
	Jonas Bonn, Stefan Kristiansson, Stafford Horne,
	James E.J. Bottomley, Helge Deller, Michael Ellerman,
	Christophe Leroy, Palmer Dabbelt, Heiko Carstens,
	John Paul Adrian Glaubitz, x86, Borislav Petkov, Max Filippov,
	Jens Axboe, Sudip Mukherjee, Richard Weinberger, Bjorn Helgaas,
	Masahiro Yamada, Nathan Chancellor, Nick Desaulniers,
	Guenter Roeck, Stephen Rothwell, linux-next, linux-alpha,
	linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
	linux-ia64, loongarch, linux-m68k, linux-mips, linux-openrisc,
	linux-parisc, linuxppc-dev, linux-riscv, linux-s390, linux-sh,
	sparclinux, linux-block, linux-scsi, linux-mtd,
	linux-trace-kernel, linux-pci, linux-kbuild

Hi Geert,

Am 25.08.23 um 19:39 schrieb Geert Uytterhoeven:
> Hi Michael,
>
> On Fri, Aug 25, 2023 at 3:31 AM Michael Schmitz <schmitzmic@gmail.com> wrote:
>> On 25/08/23 13:12, Martin K. Petersen wrote:
>>> [11/17] scsi: gvp11: remove unused gvp11_setup() function
>>>          https://git.kernel.org/mkp/scsi/c/bfaa4a0ce1bb
>> I somehow missed that one ...
>>
>> The gvp11_setup() function was probably a relic from the times before
>> module parameters.
>>
>> Since gvp11_xfer_mask appears to be required for some Amiga systems to
>> set the DMA mask, I'd best send a patch to add such a module parameter ...
>>
>> Do you know any details around the use of DMA masks for Amiga WD33C93
>> drivers, Geert?
> Doh, it's been a while, and I never had an affected system.
> Probably it's needed on A2000 with an accelerator card and GVP II SCSI,
> to prevent DMA to RAM banks that do not support fast DMA cycles.

Thanks, that's good enough for me.

Linux 2.0 had this comment:

|/* * DMA transfer mask for GVP Series II SCSI controller. * Some
versions can only DMA into the 24 bit address space * (0->16M). Others
can DMA into the full 32 bit address * space. The default is to only
allow DMA into the 24 bit * address space. The "gvp11=0xFFFFFFFE" setup
parameter can * be supplied to force an alternate (32 bit) mask. */ |

|We now handle that (since 2.6.35) through masks defined in
gvp11_zorro_tbl[] (though I note these don't account for unaligned
addresses such as implied by the example in the comment. Are unaligned
DMA buffers still possible today?). Would that cover the 'A2000 with
accelerator' case?
|

||

I'm happy to send a patch if an override to the device default DMA mask
is still necessary.

(Incidentally - did you ever publish the m68k full history tree anywhere
in git?)

Cheers,

    Michael


>
> Gr{oetje,eeting}s,
>
>                         Geert
>


^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: (subset) [PATCH 00/17] -Wmissing-prototype warning fixes
  2023-08-25 22:44       ` Michael Schmitz
@ 2023-08-28  6:42         ` Geert Uytterhoeven
  2023-08-28  8:07           ` Michael Schmitz
  0 siblings, 1 reply; 52+ messages in thread
From: Geert Uytterhoeven @ 2023-08-28  6:42 UTC (permalink / raw)
  To: Michael Schmitz
  Cc: Martin K. Petersen, Andrew Morton, linux-kernel, Arnd Bergmann,
	Arnd Bergmann, Matt Turner, Vineet Gupta, Russell King,
	Catalin Marinas, Will Deacon, Guo Ren, Brian Cain, Huacai Chen,
	WANG Xuerui, Michal Simek, Thomas Bogendoerfer, Dinh Nguyen,
	Jonas Bonn, Stefan Kristiansson, Stafford Horne,
	James E.J. Bottomley, Helge Deller, Michael Ellerman,
	Christophe Leroy, Palmer Dabbelt, Heiko Carstens,
	John Paul Adrian Glaubitz, x86, Borislav Petkov, Max Filippov,
	Jens Axboe, Sudip Mukherjee, Richard Weinberger, Bjorn Helgaas,
	Masahiro Yamada, Nathan Chancellor, Nick Desaulniers,
	Guenter Roeck, Stephen Rothwell, linux-next, linux-alpha,
	linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
	linux-ia64, loongarch, linux-m68k, linux-mips, linux-openrisc,
	linux-parisc, linuxppc-dev, linux-riscv, linux-s390, linux-sh,
	sparclinux, linux-block, linux-scsi, linux-mtd,
	linux-trace-kernel, linux-pci, linux-kbuild

On Sat, Aug 26, 2023 at 12:44 AM Michael Schmitz <schmitzmic@gmail.com> wrote:
> (Incidentally - did you ever publish the m68k full history tree anywhere
> in git?)

You mean the gitified version of the Linux/m68k CVS tree Ralf created
for me because my machine wasn't powerful enough?
No, and I should look into doing that...

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: (subset) [PATCH 00/17] -Wmissing-prototype warning fixes
  2023-08-28  6:42         ` Geert Uytterhoeven
@ 2023-08-28  8:07           ` Michael Schmitz
  0 siblings, 0 replies; 52+ messages in thread
From: Michael Schmitz @ 2023-08-28  8:07 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Martin K. Petersen, Andrew Morton, linux-kernel, Arnd Bergmann,
	Arnd Bergmann, Matt Turner, Vineet Gupta, Russell King,
	Catalin Marinas, Will Deacon, Guo Ren, Brian Cain, Huacai Chen,
	WANG Xuerui, Michal Simek, Thomas Bogendoerfer, Dinh Nguyen,
	Jonas Bonn, Stefan Kristiansson, Stafford Horne,
	James E.J. Bottomley, Helge Deller, Michael Ellerman,
	Christophe Leroy, Palmer Dabbelt, Heiko Carstens,
	John Paul Adrian Glaubitz, x86, Borislav Petkov, Max Filippov,
	Jens Axboe, Sudip Mukherjee, Richard Weinberger, Bjorn Helgaas,
	Masahiro Yamada, Nathan Chancellor, Nick Desaulniers,
	Guenter Roeck, Stephen Rothwell, linux-next, linux-alpha,
	linux-snps-arc, linux-arm-kernel, linux-csky, linux-hexagon,
	linux-ia64, loongarch, linux-m68k, linux-mips, linux-openrisc,
	linux-parisc, linuxppc-dev, linux-riscv, linux-s390, linux-sh,
	sparclinux, linux-block, linux-scsi, linux-mtd,
	linux-trace-kernel, linux-pci, linux-kbuild

Hi Geert,

Am 28.08.2023 um 18:42 schrieb Geert Uytterhoeven:
> On Sat, Aug 26, 2023 at 12:44 AM Michael Schmitz <schmitzmic@gmail.com> wrote:
>> (Incidentally - did you ever publish the m68k full history tree anywhere
>> in git?)
>
> You mean the gitified version of the Linux/m68k CVS tree Ralf created
> for me because my machine wasn't powerful enough?

The very same ...

> No, and I should look into doing that...

No pressure!

Cheers,

	Michael

>
> Gr{oetje,eeting}s,
>
>                         Geert
>

^ permalink raw reply	[flat|nested] 52+ messages in thread

* Re: [PATCH 09/17] parport: gsc: mark init function static
  2023-08-10 14:19 ` [PATCH 09/17] parport: gsc: mark init function static Arnd Bergmann
  2023-08-10 15:13   ` Helge Deller
@ 2023-08-28 10:04   ` Sudip Mukherjee
  1 sibling, 0 replies; 52+ messages in thread
From: Sudip Mukherjee @ 2023-08-28 10:04 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Morton, linux-kernel, James E.J. Bottomley, Helge Deller,
	Arnd Bergmann, linux-parisc

On Thu, 10 Aug 2023 at 15:22, Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> This is only used locally, so mark it static to avoid a warning:
>
> drivers/parport/parport_gsc.c:395:5: error: no previous prototype for 'parport_gsc_init' [-Werror=missing-prototypes]
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>


-- 
Regards
Sudip

^ permalink raw reply	[flat|nested] 52+ messages in thread

end of thread, other threads:[~2023-08-28 10:05 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
2023-08-10 14:19 ` [PATCH 01/17] [RESEND] jffs2: mark __jffs2_dbg_superblock_counts() static Arnd Bergmann
2023-08-10 14:19 ` [PATCH 02/17] [RESEND] irq_work: consolidate arch_irq_work_raise prototypes Arnd Bergmann
2023-08-11 22:10   ` Masahiro Yamada
2023-08-12  7:34     ` Arnd Bergmann
2023-08-10 14:19 ` [PATCH 03/17] [RESEND] ida: make 'ida_dump' static Arnd Bergmann
2023-08-10 14:19 ` [PATCH 04/17] pci: sysfs: move declarations to linux/pci.h Arnd Bergmann
2023-08-10 14:38   ` Bjorn Helgaas
2023-08-10 14:19 ` [PATCH 05/17] swim3: mark swim3_init() static Arnd Bergmann
2023-08-10 14:26   ` Jinpu Wang
2023-08-10 14:33   ` Jens Axboe
2023-08-10 14:19 ` [PATCH 06/17] macintosh/ams: mark ams_init() static Arnd Bergmann
2023-08-10 17:21   ` Christophe Leroy
2023-08-10 14:19 ` [PATCH 07/17] scsi: qlogicpti: mark qlogicpti_info() static Arnd Bergmann
2023-08-10 14:27   ` Jinpu Wang
2023-08-21 20:38   ` Martin K. Petersen
2023-08-10 14:19 ` [PATCH 08/17] microblaze: mark flush_dcache_folio() inline Arnd Bergmann
2023-08-23  7:34   ` Michal Simek
2023-08-10 14:19 ` [PATCH 09/17] parport: gsc: mark init function static Arnd Bergmann
2023-08-10 15:13   ` Helge Deller
2023-08-28 10:04   ` Sudip Mukherjee
2023-08-10 14:19 ` [PATCH 10/17] zorro: include zorro.h in names.c Arnd Bergmann
2023-08-16 15:49   ` Geert Uytterhoeven
2023-08-10 14:19 ` [PATCH 11/17] scsi: gvp11: remove unused gvp11_setup() function Arnd Bergmann
2023-08-16 15:52   ` Geert Uytterhoeven
2023-08-21 20:38   ` Martin K. Petersen
2023-08-10 14:19 ` [PATCH 12/17] time: make sysfs_get_uname() function visible in header Arnd Bergmann
2023-08-10 14:19 ` [PATCH 13/17] stackleak: add declarations for global functions Arnd Bergmann
2023-08-10 14:19 ` [PATCH 14/17] kprobes: unify kprobes_exceptions_nofify() prototypes Arnd Bergmann
2023-08-11 11:46   ` Masami Hiramatsu
2023-08-10 14:19 ` [PATCH 15/17] arch: fix asm-offsets.c building with -Wmissing-prototypes Arnd Bergmann
2023-08-11 22:12   ` Masahiro Yamada
2023-08-12  7:46     ` Arnd Bergmann
2023-08-10 14:19 ` [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally Arnd Bergmann
2023-08-10 14:59   ` Christophe Leroy
2023-08-10 15:21     ` Arnd Bergmann
2023-08-10 15:59       ` Helge Deller
2023-08-10 19:15         ` Arnd Bergmann
2023-08-11  2:33   ` Guo Ren
2023-08-11 18:25     ` Vineet Gupta
2023-08-11 20:09   ` Stafford Horne
2023-08-12  8:02     ` Arnd Bergmann
2023-08-10 14:19 ` [PATCH 17/17] [RFC] Makefile.extrawarn: turn on missing-prototypes again Arnd Bergmann
2023-08-10 19:02   ` Kees Cook
2023-08-16 14:38 ` [PATCH 00/17] -Wmissing-prototype warning fixes Palmer Dabbelt
2023-08-23 11:55 ` (subset) " Michael Ellerman
2023-08-25  1:12 ` Martin K. Petersen
2023-08-25  1:30   ` Michael Schmitz
2023-08-25  7:39     ` Geert Uytterhoeven
2023-08-25 22:44       ` Michael Schmitz
2023-08-28  6:42         ` Geert Uytterhoeven
2023-08-28  8:07           ` Michael Schmitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).