* [PATCH 00/20] mips: address -Wmissing-prototypes warnings
@ 2023-12-04 11:56 Arnd Bergmann
2023-12-04 11:56 ` [PATCH 01/20] mips: decompress: fix add missing prototypes Arnd Bergmann
` (20 more replies)
0 siblings, 21 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
As promised, I've now addressed the -Wmissing-prototypes warnings that
showed up in mips as the last major architecture after my patch to
enable the option everywhere.
This should result in a clean build for the defconfig and allmodconfig
builds, but the older platforms that are not yet converted to
CONFFIG_MIPS_GENERIC_KERNEL tend to still have some remaining warnings
in platform specific code that someone needs to address.
The patches could either go through Thomas's mips tree, or
alternatively through linux-mm along with the hexagon patches
that Andrew has already merged.
Arnd
Link: https://lore.kernel.org/lkml/ebb5b1a2-ed27-4a77-b62b-1d3f19bddd85@app.fastmail.com/
Cc: "Andrew Morton" <akpm@linux-foundation.org>
Cc: "Stephen Rothwell" <sfr@rothwell.id.au>
Cc: "Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
Cc: "Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
Cc: linux-mips@vger.kernel.org
Arnd Bergmann (20):
mips: decompress: fix add missing prototypes
mips: add asm/syscalls.h header
mips: add missing declarations for trap handlers
mips: rs870e: stop exporting local functions
mips: signal: move sigcontext declarations to header
mips: mark local function static if possible
mips: move build_tlb_refill_handler() prototype
mips: move jump_label_apply_nops() declaration to header
mips: unhide uasm_in_compat_space_p() declaration
mips: fix setup_zero_pages() prototype
mips: fix tlb_init() prototype
mips: move cache declarations into header
mips: add missing declarations
mips: spram: fix missing prototype warning for spram_config
mips: mt: include asm/mips_mt.h
mips: remove extraneous asm-generic/iomap.h include
mips: suspend: include linux/suspend.h as needed
mips: hide conditionally unused functions
mips: smp: fix setup_profiling_timer() prototype
mips: kexec: include linux/reboot.h
arch/mips/boot/compressed/dbg.c | 2 ++
arch/mips/boot/compressed/decompress.c | 16 ++-------
arch/mips/boot/compressed/decompress.h | 24 ++++++++++++++
arch/mips/boot/compressed/string.c | 1 +
arch/mips/include/asm/cache.h | 6 ++++
arch/mips/include/asm/io.h | 2 --
arch/mips/include/asm/jump_label.h | 3 ++
.../mips/include/asm/mach-loongson64/mmzone.h | 1 -
arch/mips/include/asm/mmzone.h | 2 ++
arch/mips/include/asm/processor.h | 2 ++
arch/mips/include/asm/r4kcache.h | 4 +++
arch/mips/include/asm/setup.h | 1 +
arch/mips/include/asm/signal.h | 1 +
arch/mips/include/asm/smp.h | 2 ++
arch/mips/include/asm/spram.h | 2 +-
arch/mips/include/asm/syscalls.h | 33 +++++++++++++++++++
arch/mips/include/asm/tlbex.h | 1 +
arch/mips/include/asm/traps.h | 23 +++++++++++++
arch/mips/include/asm/uasm.h | 2 --
arch/mips/kernel/cpu-probe.c | 1 -
arch/mips/kernel/cpu-r3k-probe.c | 1 -
arch/mips/kernel/linux32.c | 1 +
arch/mips/kernel/machine_kexec.c | 1 +
arch/mips/kernel/mips-cm.c | 2 +-
arch/mips/kernel/mips-mt-fpaff.c | 1 +
arch/mips/kernel/mips-mt.c | 1 +
arch/mips/kernel/module.c | 3 +-
arch/mips/kernel/r4k-bugs64.c | 1 +
arch/mips/kernel/signal-common.h | 3 ++
arch/mips/kernel/signal.c | 1 +
arch/mips/kernel/signal32.c | 1 +
arch/mips/kernel/signal_n32.c | 4 +--
arch/mips/kernel/signal_o32.c | 1 +
arch/mips/kernel/smp.c | 3 ++
arch/mips/kernel/spram.c | 1 +
arch/mips/kernel/syscall.c | 1 +
arch/mips/kernel/traps.c | 2 --
arch/mips/kernel/unaligned.c | 1 +
arch/mips/mm/c-r4k.c | 6 +---
arch/mips/mm/cache.c | 6 ----
arch/mips/mm/fault.c | 1 +
arch/mips/mm/init.c | 1 +
arch/mips/mm/pgtable-64.c | 2 ++
arch/mips/mm/tlb-r3k.c | 4 +--
arch/mips/mm/tlb-r4k.c | 6 ++--
arch/mips/power/cpu.c | 1 +
arch/mips/power/hibernate.c | 1 +
drivers/platform/mips/rs780e-acpi.c | 12 +++----
48 files changed, 145 insertions(+), 53 deletions(-)
create mode 100644 arch/mips/boot/compressed/decompress.h
create mode 100644 arch/mips/include/asm/syscalls.h
--
2.39.2
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 01/20] mips: decompress: fix add missing prototypes
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
@ 2023-12-04 11:56 ` Arnd Bergmann
2023-12-04 11:56 ` [PATCH 02/20] mips: add asm/syscalls.h header Arnd Bergmann
` (19 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
The mips decompressor has some string functions defined locally that are not
declared in the right place:
arch/mips/boot/compressed/dbg.c:12:13: error: no previous prototype for 'putc' [-Werror=missing-prototypes]
arch/mips/boot/compressed/dbg.c:16:6: error: no previous prototype for 'puts' [-Werror=missing-prototypes]
arch/mips/boot/compressed/dbg.c:26:6: error: no previous prototype for 'puthex' [-Werror=missing-prototypes]
arch/mips/boot/compressed/string.c:11:7: error: no previous prototype for 'memcpy' [-Werror=missing-prototypes]
arch/mips/boot/compressed/string.c:22:7: error: no previous prototype for 'memset' [-Werror=missing-prototypes]
arch/mips/boot/compressed/string.c:32:15: error: no previous prototype for 'memmove' [-Werror=missing-prototypes]
arch/mips/boot/compressed/decompress.c:43:6: error: no previous prototype for 'error' [-Werror=missing-prototypes]
arch/mips/boot/compressed/decompress.c:91:6: error: no previous prototype for 'decompress_kernel' [-Werror=missing-prototypes]
Include the string.h header where needed and add a decompress.h header to
have shared prototypes for the rest.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/boot/compressed/dbg.c | 2 ++
arch/mips/boot/compressed/decompress.c | 16 ++--------------
arch/mips/boot/compressed/decompress.h | 24 ++++++++++++++++++++++++
arch/mips/boot/compressed/string.c | 1 +
4 files changed, 29 insertions(+), 14 deletions(-)
create mode 100644 arch/mips/boot/compressed/decompress.h
diff --git a/arch/mips/boot/compressed/dbg.c b/arch/mips/boot/compressed/dbg.c
index f6728a8fd1c3..2f1ac38fe1cc 100644
--- a/arch/mips/boot/compressed/dbg.c
+++ b/arch/mips/boot/compressed/dbg.c
@@ -9,6 +9,8 @@
#include <linux/compiler.h>
#include <linux/types.h>
+#include "decompress.h"
+
void __weak putc(char c)
{
}
diff --git a/arch/mips/boot/compressed/decompress.c b/arch/mips/boot/compressed/decompress.c
index c5dd415254d3..adb6d5b0e6eb 100644
--- a/arch/mips/boot/compressed/decompress.c
+++ b/arch/mips/boot/compressed/decompress.c
@@ -19,6 +19,8 @@
#include <asm/unaligned.h>
#include <asm-generic/vmlinux.lds.h>
+#include "decompress.h"
+
/*
* These two variables specify the free mem region
* that can be used for temporary malloc area
@@ -26,20 +28,6 @@
unsigned long free_mem_ptr;
unsigned long free_mem_end_ptr;
-/* The linker tells us where the image is. */
-extern unsigned char __image_begin[], __image_end[];
-
-/* debug interfaces */
-#ifdef CONFIG_DEBUG_ZBOOT
-extern void puts(const char *s);
-extern void puthex(unsigned long long val);
-#else
-#define puts(s) do {} while (0)
-#define puthex(val) do {} while (0)
-#endif
-
-extern char __appended_dtb[];
-
void error(char *x)
{
puts("\n\n");
diff --git a/arch/mips/boot/compressed/decompress.h b/arch/mips/boot/compressed/decompress.h
new file mode 100644
index 000000000000..073b64593b3d
--- /dev/null
+++ b/arch/mips/boot/compressed/decompress.h
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: GPL-2.0
+#ifndef _DECOMPRESSOR_H
+#define _DECOMPRESSOR_H
+
+/* The linker tells us where the image is. */
+extern unsigned char __image_begin[], __image_end[];
+
+/* debug interfaces */
+#ifdef CONFIG_DEBUG_ZBOOT
+extern void putc(char c);
+extern void puts(const char *s);
+extern void puthex(unsigned long long val);
+#else
+#define putc(s) do {} while (0)
+#define puts(s) do {} while (0)
+#define puthex(val) do {} while (0)
+#endif
+
+extern char __appended_dtb[];
+
+void error(char *x);
+void decompress_kernel(unsigned long boot_heap_start);
+
+#endif
diff --git a/arch/mips/boot/compressed/string.c b/arch/mips/boot/compressed/string.c
index 0b593b709228..f0eb251e44e5 100644
--- a/arch/mips/boot/compressed/string.c
+++ b/arch/mips/boot/compressed/string.c
@@ -7,6 +7,7 @@
#include <linux/compiler_attributes.h>
#include <linux/types.h>
+#include <asm/string.h>
void *memcpy(void *dest, const void *src, size_t n)
{
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 02/20] mips: add asm/syscalls.h header
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
2023-12-04 11:56 ` [PATCH 01/20] mips: decompress: fix add missing prototypes Arnd Bergmann
@ 2023-12-04 11:56 ` Arnd Bergmann
2023-12-04 11:56 ` [PATCH 03/20] mips: add missing declarations for trap handlers Arnd Bergmann
` (18 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
System call prototypes are generally in linux/syscalls.h, but there are
a couple of mips specific entry points that are missing there:
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/syscall.c:51:16: error: no previous prototype for 'sysm_pipe' [-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-fpaff.c:157:17: error: no previous prototype for 'mipsmt_sys_sched_getaffinity' [-Werror=missing-prototypes]
Add these to a new asm/syscalls.h as we have in other architectures.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/syscalls.h | 33 ++++++++++++++++++++++++++++++++
arch/mips/kernel/linux32.c | 1 +
arch/mips/kernel/mips-mt-fpaff.c | 1 +
arch/mips/kernel/signal.c | 1 +
arch/mips/kernel/signal32.c | 1 +
arch/mips/kernel/signal_n32.c | 1 +
arch/mips/kernel/signal_o32.c | 1 +
arch/mips/kernel/syscall.c | 1 +
8 files changed, 40 insertions(+)
create mode 100644 arch/mips/include/asm/syscalls.h
diff --git a/arch/mips/include/asm/syscalls.h b/arch/mips/include/asm/syscalls.h
new file mode 100644
index 000000000000..59f9c0c9fa0a
--- /dev/null
+++ b/arch/mips/include/asm/syscalls.h
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef _ASM_MIPS_SYSCALLS_H
+#define _ASM_MIPS_SYSCALLS_H
+
+#include <linux/linkage.h>
+#include <linux/compat.h>
+
+asmlinkage void sys_sigreturn(void);
+asmlinkage void sys_rt_sigreturn(void);
+asmlinkage int sysm_pipe(void);
+asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
+ unsigned long __user *user_mask_ptr);
+asmlinkage long mipsmt_sys_sched_getaffinity(pid_t pid, unsigned int len,
+ unsigned long __user *user_mask_ptr);
+asmlinkage long sys32_fallocate(int fd, int mode, unsigned offset_a2,
+ unsigned offset_a3, unsigned len_a4,
+ unsigned len_a5);
+asmlinkage long sys32_fadvise64_64(int fd, int __pad,
+ unsigned long a2, unsigned long a3,
+ unsigned long a4, unsigned long a5,
+ int flags);
+asmlinkage ssize_t sys32_readahead(int fd, u32 pad0, u64 a2, u64 a3,
+ size_t count);
+asmlinkage long sys32_sync_file_range(int fd, int __pad,
+ unsigned long a2, unsigned long a3,
+ unsigned long a4, unsigned long a5,
+ int flags);
+asmlinkage void sys32_rt_sigreturn(void);
+asmlinkage void sys32_sigreturn(void);
+asmlinkage int sys32_sigsuspend(compat_sigset_t __user *uset);
+asmlinkage void sysn32_rt_sigreturn(void);
+
+#endif
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
index 6b61be486303..a0c0a7a654e9 100644
--- a/arch/mips/kernel/linux32.c
+++ b/arch/mips/kernel/linux32.c
@@ -42,6 +42,7 @@
#include <linux/uaccess.h>
#include <asm/mmu_context.h>
#include <asm/mman.h>
+#include <asm/syscalls.h>
#ifdef __MIPSEB__
#define merge_64(r1, r2) ((((r1) & 0xffffffffUL) << 32) + ((r2) & 0xffffffffUL))
diff --git a/arch/mips/kernel/mips-mt-fpaff.c b/arch/mips/kernel/mips-mt-fpaff.c
index 67e130d3f038..10172fc4f627 100644
--- a/arch/mips/kernel/mips-mt-fpaff.c
+++ b/arch/mips/kernel/mips-mt-fpaff.c
@@ -15,6 +15,7 @@
#include <linux/security.h>
#include <linux/types.h>
#include <linux/uaccess.h>
+#include <asm/syscalls.h>
/*
* CPU mask used to set process affinity for MT VPEs/TCs with FPUs
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index 479999b7f2de..ccbf580827f6 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -38,6 +38,7 @@
#include <asm/dsp.h>
#include <asm/inst.h>
#include <asm/msa.h>
+#include <asm/syscalls.h>
#include "signal-common.h"
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
index 59b8965433c2..73081d4ee8c1 100644
--- a/arch/mips/kernel/signal32.c
+++ b/arch/mips/kernel/signal32.c
@@ -18,6 +18,7 @@
#include <asm/compat-signal.h>
#include <linux/uaccess.h>
#include <asm/unistd.h>
+#include <asm/syscalls.h>
#include "signal-common.h"
diff --git a/arch/mips/kernel/signal_n32.c b/arch/mips/kernel/signal_n32.c
index cfc77b69420a..ff2043d620ba 100644
--- a/arch/mips/kernel/signal_n32.c
+++ b/arch/mips/kernel/signal_n32.c
@@ -24,6 +24,7 @@
#include <asm/ucontext.h>
#include <asm/fpu.h>
#include <asm/cpu-features.h>
+#include <asm/syscalls.h>
#include "signal-common.h"
diff --git a/arch/mips/kernel/signal_o32.c b/arch/mips/kernel/signal_o32.c
index 299a7a28ca33..4f0458459650 100644
--- a/arch/mips/kernel/signal_o32.c
+++ b/arch/mips/kernel/signal_o32.c
@@ -19,6 +19,7 @@
#include <asm/dsp.h>
#include <asm/sim.h>
#include <asm/unistd.h>
+#include <asm/syscalls.h>
#include "signal-common.h"
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index ae93a607ddf7..1bfc34a2e5b3 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -39,6 +39,7 @@
#include <asm/shmparam.h>
#include <asm/sync.h>
#include <asm/sysmips.h>
+#include <asm/syscalls.h>
#include <asm/switch_to.h>
/*
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 03/20] mips: add missing declarations for trap handlers
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
2023-12-04 11:56 ` [PATCH 01/20] mips: decompress: fix add missing prototypes Arnd Bergmann
2023-12-04 11:56 ` [PATCH 02/20] mips: add asm/syscalls.h header Arnd Bergmann
@ 2023-12-04 11:56 ` Arnd Bergmann
2023-12-04 11:56 ` [PATCH 04/20] mips: rs870e: stop exporting local functions Arnd Bergmann
` (17 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
These exception handlers are all called from assembly code, so they don't
normally need a declaration, but without one we now get warnings:
arch/mips/mm/fault.c:323:17: error: no previous prototype for 'do_page_fault' [-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:874:17: error: no previous prototype for 'do_fpe' [-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: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: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: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: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: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: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: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:1989:17: error: no previous prototype for 'nmi_exception_handler' [-Werror=missing-prototypes]
arch/mips/kernel/unaligned.c:1516:17: error: no previous prototype for 'do_ade' [-Werror=missing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/traps.h | 23 +++++++++++++++++++++++
arch/mips/kernel/r4k-bugs64.c | 1 +
arch/mips/kernel/unaligned.c | 1 +
arch/mips/mm/fault.c | 1 +
4 files changed, 26 insertions(+)
diff --git a/arch/mips/include/asm/traps.h b/arch/mips/include/asm/traps.h
index d4d9f8a8fdea..1e63d7d04404 100644
--- a/arch/mips/include/asm/traps.h
+++ b/arch/mips/include/asm/traps.h
@@ -41,5 +41,28 @@ extern char except_vec_nmi[];
asmlinkage void do_page_fault(struct pt_regs *regs,
unsigned long write, unsigned long address);
+asmlinkage void do_ade(struct pt_regs *regs);
+asmlinkage void do_be(struct pt_regs *regs);
+asmlinkage void do_ov(struct pt_regs *regs);
+asmlinkage void do_fpe(struct pt_regs *regs, unsigned long fcr31);
+asmlinkage void do_bp(struct pt_regs *regs);
+asmlinkage void do_tr(struct pt_regs *regs);
+asmlinkage void do_ri(struct pt_regs *regs);
+asmlinkage void do_cpu(struct pt_regs *regs);
+asmlinkage void do_msa_fpe(struct pt_regs *regs, unsigned int msacsr);
+asmlinkage void do_msa(struct pt_regs *regs);
+asmlinkage void do_mdmx(struct pt_regs *regs);
+asmlinkage void do_watch(struct pt_regs *regs);
+asmlinkage void do_mcheck(struct pt_regs *regs);
+asmlinkage void do_mt(struct pt_regs *regs);
+asmlinkage void do_dsp(struct pt_regs *regs);
+asmlinkage void do_reserved(struct pt_regs *regs);
+asmlinkage void do_ftlb(void);
+asmlinkage void do_gsexc(struct pt_regs *regs, u32 diag1);
+asmlinkage void do_daddi_ov(struct pt_regs *regs);
+
+asmlinkage void cache_parity_error(void);
+asmlinkage void ejtag_exception_handler(struct pt_regs *regs);
+asmlinkage void __noreturn nmi_exception_handler(struct pt_regs *regs);
#endif /* _ASM_TRAPS_H */
diff --git a/arch/mips/kernel/r4k-bugs64.c b/arch/mips/kernel/r4k-bugs64.c
index 6ffefb2c6971..1e300330078d 100644
--- a/arch/mips/kernel/r4k-bugs64.c
+++ b/arch/mips/kernel/r4k-bugs64.c
@@ -14,6 +14,7 @@
#include <asm/fpu.h>
#include <asm/mipsregs.h>
#include <asm/setup.h>
+#include <asm/traps.h>
static char bug64hit[] __initdata =
"reliable operation impossible!\n%s";
diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c
index f4cf94e92ec3..db652c99b72e 100644
--- a/arch/mips/kernel/unaligned.c
+++ b/arch/mips/kernel/unaligned.c
@@ -91,6 +91,7 @@
#include <asm/inst.h>
#include <asm/unaligned-emul.h>
#include <asm/mmu_context.h>
+#include <asm/traps.h>
#include <linux/uaccess.h>
#include "access-helper.h"
diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c
index d7878208bd3f..aaa9a242ebba 100644
--- a/arch/mips/mm/fault.c
+++ b/arch/mips/mm/fault.c
@@ -26,6 +26,7 @@
#include <asm/mmu_context.h>
#include <asm/ptrace.h>
#include <asm/highmem.h> /* For VMALLOC_END */
+#include <asm/traps.h>
#include <linux/kdebug.h>
int show_unhandled_signals = 1;
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 04/20] mips: rs870e: stop exporting local functions
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (2 preceding siblings ...)
2023-12-04 11:56 ` [PATCH 03/20] mips: add missing declarations for trap handlers Arnd Bergmann
@ 2023-12-04 11:56 ` Arnd Bergmann
2023-12-04 11:56 ` [PATCH 05/20] mips: signal: move sigcontext declarations to header Arnd Bergmann
` (16 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
These four functions are exported, but don't have any users, and no prototypes,
which now causes warnings:
drivers/platform/mips/rs780e-acpi.c:35:6: error: no previous prototype for 'pm_iowrite' [-Werror=missing-prototypes]
drivers/platform/mips/rs780e-acpi.c:41:4: error: no previous prototype for 'pm_ioread' [-Werror=missing-prototypes]
drivers/platform/mips/rs780e-acpi.c:47:6: error: no previous prototype for 'pm2_iowrite' [-Werror=missing-prototypes]
drivers/platform/mips/rs780e-acpi.c:53:4: error: no previous prototype for 'pm2_ioread' [-Werror=missing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/platform/mips/rs780e-acpi.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/platform/mips/rs780e-acpi.c b/drivers/platform/mips/rs780e-acpi.c
index bb0e8ae0eefd..5b8f9cc32589 100644
--- a/drivers/platform/mips/rs780e-acpi.c
+++ b/drivers/platform/mips/rs780e-acpi.c
@@ -32,29 +32,25 @@ static u8 pmio_read_index(u16 index, u8 reg)
return inb(index + 1);
}
-void pm_iowrite(u8 reg, u8 value)
+static void pm_iowrite(u8 reg, u8 value)
{
pmio_write_index(PM_INDEX, reg, value);
}
-EXPORT_SYMBOL(pm_iowrite);
-u8 pm_ioread(u8 reg)
+static u8 pm_ioread(u8 reg)
{
return pmio_read_index(PM_INDEX, reg);
}
-EXPORT_SYMBOL(pm_ioread);
-void pm2_iowrite(u8 reg, u8 value)
+static void pm2_iowrite(u8 reg, u8 value)
{
pmio_write_index(PM2_INDEX, reg, value);
}
-EXPORT_SYMBOL(pm2_iowrite);
-u8 pm2_ioread(u8 reg)
+static u8 pm2_ioread(u8 reg)
{
return pmio_read_index(PM2_INDEX, reg);
}
-EXPORT_SYMBOL(pm2_ioread);
static void acpi_hw_clear_status(void)
{
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 05/20] mips: signal: move sigcontext declarations to header
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (3 preceding siblings ...)
2023-12-04 11:56 ` [PATCH 04/20] mips: rs870e: stop exporting local functions Arnd Bergmann
@ 2023-12-04 11:56 ` Arnd Bergmann
2023-12-04 11:56 ` [PATCH 06/20] mips: mark local function static if possible Arnd Bergmann
` (15 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
Function declarations should be in a shared header to ensure the prototypes
match the definition:
arch/mips/kernel/signal.c:439:5: error: no previous prototype for 'setup_sigcontext' [-Werror=missing-prototypes]
arch/mips/kernel/signal.c:516:5: error: no previous prototype for 'restore_sigcontext' [-Werror=missing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/kernel/signal-common.h | 3 +++
arch/mips/kernel/signal_n32.c | 3 ---
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/mips/kernel/signal-common.h b/arch/mips/kernel/signal-common.h
index f50d48435c68..136eb20ac024 100644
--- a/arch/mips/kernel/signal-common.h
+++ b/arch/mips/kernel/signal-common.h
@@ -40,4 +40,7 @@ _restore_fp_context(void __user *fpregs, void __user *csr);
extern asmlinkage int _save_msa_all_upper(void __user *buf);
extern asmlinkage int _restore_msa_all_upper(void __user *buf);
+extern int setup_sigcontext(struct pt_regs *, struct sigcontext __user *);
+extern int restore_sigcontext(struct pt_regs *, struct sigcontext __user *);
+
#endif /* __SIGNAL_COMMON_H */
diff --git a/arch/mips/kernel/signal_n32.c b/arch/mips/kernel/signal_n32.c
index ff2043d620ba..139d2596b0d4 100644
--- a/arch/mips/kernel/signal_n32.c
+++ b/arch/mips/kernel/signal_n32.c
@@ -33,9 +33,6 @@
*/
#define __NR_N32_restart_syscall 6214
-extern int setup_sigcontext(struct pt_regs *, struct sigcontext __user *);
-extern int restore_sigcontext(struct pt_regs *, struct sigcontext __user *);
-
struct ucontextn32 {
u32 uc_flags;
s32 uc_link;
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 06/20] mips: mark local function static if possible
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (4 preceding siblings ...)
2023-12-04 11:56 ` [PATCH 05/20] mips: signal: move sigcontext declarations to header Arnd Bergmann
@ 2023-12-04 11:56 ` Arnd Bergmann
2023-12-04 11:56 ` [PATCH 07/20] mips: move build_tlb_refill_handler() prototype Arnd Bergmann
` (14 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
These two functions are global but have no extern prototypes or other
callers, so it's best to mark them as static, avoiding these warnings:
arch/mips/kernel/mips-cm.c:204:13: error: no previous prototype for '__mips_cm_l2sync_phys_base' [-Werror=missing-prototypes]
arch/mips/mm/c-r4k.c:1827:12: error: no previous prototype for 'r4k_cache_init_pm' [-Werror=missing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/kernel/mips-cm.c | 2 +-
arch/mips/mm/c-r4k.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/mips/kernel/mips-cm.c b/arch/mips/kernel/mips-cm.c
index 3f00788b0871..84b3affb9de8 100644
--- a/arch/mips/kernel/mips-cm.c
+++ b/arch/mips/kernel/mips-cm.c
@@ -201,7 +201,7 @@ phys_addr_t __mips_cm_phys_base(void)
phys_addr_t mips_cm_phys_base(void)
__attribute__((weak, alias("__mips_cm_phys_base")));
-phys_addr_t __mips_cm_l2sync_phys_base(void)
+static phys_addr_t __mips_cm_l2sync_phys_base(void)
{
u32 base_reg;
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 187d1c16361c..0619e5296ff3 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -1828,7 +1828,7 @@ static struct notifier_block r4k_cache_pm_notifier_block = {
.notifier_call = r4k_cache_pm_notifier,
};
-int __init r4k_cache_init_pm(void)
+static int __init r4k_cache_init_pm(void)
{
return cpu_pm_register_notifier(&r4k_cache_pm_notifier_block);
}
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 07/20] mips: move build_tlb_refill_handler() prototype
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (5 preceding siblings ...)
2023-12-04 11:56 ` [PATCH 06/20] mips: mark local function static if possible Arnd Bergmann
@ 2023-12-04 11:56 ` Arnd Bergmann
2023-12-04 11:56 ` [PATCH 08/20] mips: move jump_label_apply_nops() declaration to header Arnd Bergmann
` (13 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
Instead of having a declaration for each caller, have one that is shared
with the function definition, which avoids a warning:
arch/mips/mm/tlbex.c:2547:6: error: no previous prototype for 'build_tlb_refill_handler' [-Werror=missing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/tlbex.h | 1 +
arch/mips/mm/tlb-r3k.c | 3 +--
arch/mips/mm/tlb-r4k.c | 3 +--
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/mips/include/asm/tlbex.h b/arch/mips/include/asm/tlbex.h
index 6d97e23f30ab..24a2d06cc1c3 100644
--- a/arch/mips/include/asm/tlbex.h
+++ b/arch/mips/include/asm/tlbex.h
@@ -23,6 +23,7 @@ void build_update_entries(u32 **p, unsigned int tmp, unsigned int ptep);
void build_tlb_write_entry(u32 **p, struct uasm_label **l,
struct uasm_reloc **r,
enum tlb_write_entry wmode);
+void build_tlb_refill_handler(void);
extern void handle_tlbl(void);
extern char handle_tlbl_end[];
diff --git a/arch/mips/mm/tlb-r3k.c b/arch/mips/mm/tlb-r3k.c
index 53dfa2b9316b..1fb2cf8c8bfa 100644
--- a/arch/mips/mm/tlb-r3k.c
+++ b/arch/mips/mm/tlb-r3k.c
@@ -23,11 +23,10 @@
#include <asm/io.h>
#include <asm/bootinfo.h>
#include <asm/cpu.h>
+#include <asm/tlbex.h>
#undef DEBUG_TLB
-extern void build_tlb_refill_handler(void);
-
/* CP0 hazard avoidance. */
#define BARRIER \
__asm__ __volatile__( \
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
index 93c2d695588a..a542b255019a 100644
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -22,10 +22,9 @@
#include <asm/hazards.h>
#include <asm/mmu_context.h>
#include <asm/tlb.h>
+#include <asm/tlbex.h>
#include <asm/tlbmisc.h>
-extern void build_tlb_refill_handler(void);
-
/*
* LOONGSON-2 has a 4 entry itlb which is a subset of jtlb, LOONGSON-3 has
* a 4 entry itlb and a 4 entry dtlb which are subsets of jtlb. Unfortunately,
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 08/20] mips: move jump_label_apply_nops() declaration to header
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (6 preceding siblings ...)
2023-12-04 11:56 ` [PATCH 07/20] mips: move build_tlb_refill_handler() prototype Arnd Bergmann
@ 2023-12-04 11:56 ` Arnd Bergmann
2023-12-04 11:56 ` [PATCH 09/20] mips: unhide uasm_in_compat_space_p() declaration Arnd Bergmann
` (12 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
Instead of an extern declaration in the C file with the caller, move it
to an appropriate header, avoiding
arch/mips/kernel/jump_label.c:93:6: error: no previous prototype for 'jump_label_apply_nops' [-Werror=missing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/jump_label.h | 3 +++
arch/mips/kernel/module.c | 3 +--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/mips/include/asm/jump_label.h b/arch/mips/include/asm/jump_label.h
index c5c6864e64bc..081be98c71ef 100644
--- a/arch/mips/include/asm/jump_label.h
+++ b/arch/mips/include/asm/jump_label.h
@@ -15,6 +15,9 @@
#include <linux/types.h>
#include <asm/isa-rev.h>
+struct module;
+extern void jump_label_apply_nops(struct module *mod);
+
#define JUMP_LABEL_NOP_SIZE 4
#ifdef CONFIG_64BIT
diff --git a/arch/mips/kernel/module.c b/arch/mips/kernel/module.c
index 0c936cbf20c5..7b2fbaa9cac5 100644
--- a/arch/mips/kernel/module.c
+++ b/arch/mips/kernel/module.c
@@ -20,8 +20,7 @@
#include <linux/kernel.h>
#include <linux/spinlock.h>
#include <linux/jump_label.h>
-
-extern void jump_label_apply_nops(struct module *mod);
+#include <asm/jump_label.h>
struct mips_hi16 {
struct mips_hi16 *next;
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 09/20] mips: unhide uasm_in_compat_space_p() declaration
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (7 preceding siblings ...)
2023-12-04 11:56 ` [PATCH 08/20] mips: move jump_label_apply_nops() declaration to header Arnd Bergmann
@ 2023-12-04 11:56 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 10/20] mips: fix setup_zero_pages() prototype Arnd Bergmann
` (11 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:56 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
uasm_in_compat_space_p() has a conditional declaration but is defined
unconditionally because of another local user, which causes a warning:
arch/mips/mm/uasm.c:421:5: error: no previous prototype for 'uasm_in_compat_space_p' [-Werror=missing-prototypes]
Make the declaration unconditional to avoid this.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/uasm.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h
index 296bcf31abb5..b43bfd445252 100644
--- a/arch/mips/include/asm/uasm.h
+++ b/arch/mips/include/asm/uasm.h
@@ -193,9 +193,7 @@ struct uasm_label {
void uasm_build_label(struct uasm_label **lab, u32 *addr,
int lid);
-#ifdef CONFIG_64BIT
int uasm_in_compat_space_p(long addr);
-#endif
int uasm_rel_hi(long val);
int uasm_rel_lo(long val);
void UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr);
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 10/20] mips: fix setup_zero_pages() prototype
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (8 preceding siblings ...)
2023-12-04 11:56 ` [PATCH 09/20] mips: unhide uasm_in_compat_space_p() declaration Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 11/20] mips: fix tlb_init() prototype Arnd Bergmann
` (10 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
setup_zero_pages() has a local declaration in a platform specific header,
but that is not seen in the file it is defined in:
arch/mips/mm/init.c:60:6: error: no previous prototype for 'setup_zero_pages' [-Werror=missing-prototypes]
Move it to the corresponding global header and include that where needed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/mach-loongson64/mmzone.h | 1 -
arch/mips/include/asm/mmzone.h | 2 ++
arch/mips/mm/init.c | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/mips/include/asm/mach-loongson64/mmzone.h b/arch/mips/include/asm/mach-loongson64/mmzone.h
index ebb1deaa77b9..a3d65d37b8b5 100644
--- a/arch/mips/include/asm/mach-loongson64/mmzone.h
+++ b/arch/mips/include/asm/mach-loongson64/mmzone.h
@@ -18,7 +18,6 @@ extern struct pglist_data *__node_data[];
#define NODE_DATA(n) (__node_data[n])
-extern void setup_zero_pages(void);
extern void __init prom_init_numa_memory(void);
#endif /* _ASM_MACH_MMZONE_H */
diff --git a/arch/mips/include/asm/mmzone.h b/arch/mips/include/asm/mmzone.h
index 602a21aee9d4..14226ea42036 100644
--- a/arch/mips/include/asm/mmzone.h
+++ b/arch/mips/include/asm/mmzone.h
@@ -20,4 +20,6 @@
#define nid_to_addrbase(nid) 0
#endif
+extern void setup_zero_pages(void);
+
#endif /* _ASM_MMZONE_H_ */
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c
index 5dcb525a8995..c2e0e5aebe90 100644
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
@@ -38,6 +38,7 @@
#include <asm/dma.h>
#include <asm/maar.h>
#include <asm/mmu_context.h>
+#include <asm/mmzone.h>
#include <asm/sections.h>
#include <asm/pgalloc.h>
#include <asm/tlb.h>
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 11/20] mips: fix tlb_init() prototype
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (9 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 10/20] mips: fix setup_zero_pages() prototype Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 12/20] mips: move cache declarations into header Arnd Bergmann
` (9 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
There are two definitions for tlb_init(), but no global declaration:
arch/mips/mm/tlb-r4k.c:552:6: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
arch/mips/mm/tlb-r3k.c:244:6: error: no previous prototype for 'tlb_init' [-Werror=missing-prototypes]
Move the declaration to asm/setup.h and included it as needed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/setup.h | 1 +
arch/mips/kernel/traps.c | 2 --
arch/mips/mm/tlb-r3k.c | 1 +
arch/mips/mm/tlb-r4k.c | 1 +
4 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/mips/include/asm/setup.h b/arch/mips/include/asm/setup.h
index 8c56b862fd9c..4dce41138bad 100644
--- a/arch/mips/include/asm/setup.h
+++ b/arch/mips/include/asm/setup.h
@@ -27,5 +27,6 @@ extern unsigned long ebase;
extern unsigned int hwrena;
extern void per_cpu_trap_init(bool);
extern void cpu_cache_init(void);
+extern void tlb_init(void);
#endif /* __SETUP_H */
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 246c6a6b0261..c58c0c3c5b40 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -2157,8 +2157,6 @@ void *set_vi_handler(int n, vi_handler_t addr)
return set_vi_srs_handler(n, addr, 0);
}
-extern void tlb_init(void);
-
/*
* Timer interrupt
*/
diff --git a/arch/mips/mm/tlb-r3k.c b/arch/mips/mm/tlb-r3k.c
index 1fb2cf8c8bfa..f6db65410c65 100644
--- a/arch/mips/mm/tlb-r3k.c
+++ b/arch/mips/mm/tlb-r3k.c
@@ -23,6 +23,7 @@
#include <asm/io.h>
#include <asm/bootinfo.h>
#include <asm/cpu.h>
+#include <asm/setup.h>
#include <asm/tlbex.h>
#undef DEBUG_TLB
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
index a542b255019a..44411b20c7ec 100644
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -24,6 +24,7 @@
#include <asm/tlb.h>
#include <asm/tlbex.h>
#include <asm/tlbmisc.h>
+#include <asm/setup.h>
/*
* LOONGSON-2 has a 4 entry itlb which is a subset of jtlb, LOONGSON-3 has
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 12/20] mips: move cache declarations into header
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (10 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 11/20] mips: fix tlb_init() prototype Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 13/20] mips: add missing declarations Arnd Bergmann
` (8 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
Some of the cache functions are declared only for their callers, e.g.
arch/mips/mm/c-r3k.c:28:15: error: no previous prototype for 'r3k_cache_size' [-Werror=missing-prototypes]
arch/mips/mm/c-r3k.c:63:15: error: no previous prototype for 'r3k_cache_lsize' [-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/sc-mips.c:255:5: error: no previous prototype for 'mips_sc_init' [-Werror=missing-prototypes]
Move all the declarations to asm/cache.h and asm/r4kcache.h where they
can be seen by the function definitions.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/cache.h | 6 ++++++
arch/mips/include/asm/r4kcache.h | 4 ++++
arch/mips/kernel/cpu-probe.c | 1 -
arch/mips/kernel/cpu-r3k-probe.c | 1 -
arch/mips/mm/c-r4k.c | 4 ----
arch/mips/mm/cache.c | 6 ------
6 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/arch/mips/include/asm/cache.h b/arch/mips/include/asm/cache.h
index 3424a7908c0f..8b08db3fb17a 100644
--- a/arch/mips/include/asm/cache.h
+++ b/arch/mips/include/asm/cache.h
@@ -17,5 +17,11 @@
#define __read_mostly __section(".data..read_mostly")
extern void cache_noop(void);
+extern void r3k_cache_init(void);
+extern unsigned long r3k_cache_size(unsigned long);
+extern unsigned long r3k_cache_lsize(unsigned long);
+extern void r4k_cache_init(void);
+extern void octeon_cache_init(void);
+extern void au1x00_fixup_config_od(void);
#endif /* _ASM_CACHE_H */
diff --git a/arch/mips/include/asm/r4kcache.h b/arch/mips/include/asm/r4kcache.h
index 431a1c9d53fc..da1cd1bbdbc5 100644
--- a/arch/mips/include/asm/r4kcache.h
+++ b/arch/mips/include/asm/r4kcache.h
@@ -24,6 +24,10 @@
#include <asm/mmzone.h>
#include <asm/unroll.h>
+extern void r5k_sc_init(void);
+extern void rm7k_sc_init(void);
+extern int mips_sc_init(void);
+
extern void (*r4k_blast_dcache)(void);
extern void (*r4k_blast_icache)(void);
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index b406d8bfb15a..de7460c3a72e 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -179,7 +179,6 @@ void __init check_bugs32(void)
static inline int cpu_has_confreg(void)
{
#ifdef CONFIG_CPU_R3000
- extern unsigned long r3k_cache_size(unsigned long);
unsigned long size1, size2;
unsigned long cfg = read_c0_conf();
diff --git a/arch/mips/kernel/cpu-r3k-probe.c b/arch/mips/kernel/cpu-r3k-probe.c
index be93469c0e0e..0c826f729f75 100644
--- a/arch/mips/kernel/cpu-r3k-probe.c
+++ b/arch/mips/kernel/cpu-r3k-probe.c
@@ -42,7 +42,6 @@ void __init check_bugs32(void)
static inline int cpu_has_confreg(void)
{
#ifdef CONFIG_CPU_R3000
- extern unsigned long r3k_cache_size(unsigned long);
unsigned long size1, size2;
unsigned long cfg = read_c0_conf();
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 0619e5296ff3..b45bf026ee55 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -1485,10 +1485,6 @@ static void loongson3_sc_init(void)
return;
}
-extern int r5k_sc_init(void);
-extern int rm7k_sc_init(void);
-extern int mips_sc_init(void);
-
static void setup_scache(void)
{
struct cpuinfo_mips *c = ¤t_cpu_data;
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index 7f830634dbe7..e5d19f4a38ba 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -206,19 +206,13 @@ static inline void setup_protection_map(void)
void cpu_cache_init(void)
{
if (cpu_has_3k_cache) {
- extern void __weak r3k_cache_init(void);
-
r3k_cache_init();
}
if (cpu_has_4k_cache) {
- extern void __weak r4k_cache_init(void);
-
r4k_cache_init();
}
if (cpu_has_octeon_cache) {
- extern void __weak octeon_cache_init(void);
-
octeon_cache_init();
}
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 13/20] mips: add missing declarations
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (11 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 12/20] mips: move cache declarations into header Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 14/20] mips: spram: fix missing prototype warning for spram_config Arnd Bergmann
` (7 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
These are three more functions that are only called from assembler and
only need a declaration to avoid the -Wmissing-prototypes warnings:
arch/mips/kernel/signal.c:904:17: error: no previous prototype for 'do_notify_resume' [-Werror=missing-prototypes]
arch/mips/kernel/traps.c:370:6: error: no previous prototype for 'show_registers' [-Werror=missing-prototypes]
arch/mips/kernel/smp.c:352:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/processor.h | 2 ++
arch/mips/include/asm/signal.h | 1 +
arch/mips/include/asm/smp.h | 2 ++
3 files changed, 5 insertions(+)
diff --git a/arch/mips/include/asm/processor.h b/arch/mips/include/asm/processor.h
index ae2cd37a38f0..ca7662cc65a7 100644
--- a/arch/mips/include/asm/processor.h
+++ b/arch/mips/include/asm/processor.h
@@ -402,4 +402,6 @@ extern int mips_set_process_fp_mode(struct task_struct *task,
#define GET_FP_MODE(task) mips_get_process_fp_mode(task)
#define SET_FP_MODE(task,value) mips_set_process_fp_mode(task, value)
+void show_registers(struct pt_regs *regs);
+
#endif /* _ASM_PROCESSOR_H */
diff --git a/arch/mips/include/asm/signal.h b/arch/mips/include/asm/signal.h
index 23d6b8015c79..8de81ccef7ad 100644
--- a/arch/mips/include/asm/signal.h
+++ b/arch/mips/include/asm/signal.h
@@ -31,5 +31,6 @@ extern struct mips_abi mips_abi_32;
extern int protected_save_fp_context(void __user *sc);
extern int protected_restore_fp_context(void __user *sc);
+void do_notify_resume(struct pt_regs *regs, void *unused, __u32 thread_info_flags);
#endif /* _ASM_SIGNAL_H */
diff --git a/arch/mips/include/asm/smp.h b/arch/mips/include/asm/smp.h
index f3b18b4a5e44..19190e413223 100644
--- a/arch/mips/include/asm/smp.h
+++ b/arch/mips/include/asm/smp.h
@@ -61,6 +61,8 @@ extern asmlinkage void smp_bootstrap(void);
extern void calculate_cpu_foreign_map(void);
+asmlinkage void start_secondary(void);
+
/*
* this function sends a 'reschedule' IPI to another CPU.
* it goes straight through and wastes no time serializing
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 14/20] mips: spram: fix missing prototype warning for spram_config
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (12 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 13/20] mips: add missing declarations Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 15/20] mips: mt: include asm/mips_mt.h Arnd Bergmann
` (6 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
arch/mips/kernel/spram.c:194:6: error: no previous prototype for 'spram_config' [-Werror=missing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/spram.h | 2 +-
arch/mips/kernel/spram.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/mips/include/asm/spram.h b/arch/mips/include/asm/spram.h
index 373f2a5d495d..9f6a2cb1943a 100644
--- a/arch/mips/include/asm/spram.h
+++ b/arch/mips/include/asm/spram.h
@@ -3,7 +3,7 @@
#define _MIPS_SPRAM_H
#if defined(CONFIG_MIPS_SPRAM)
-extern __init void spram_config(void);
+extern void spram_config(void);
#else
static inline void spram_config(void) { }
#endif /* CONFIG_MIPS_SPRAM */
diff --git a/arch/mips/kernel/spram.c b/arch/mips/kernel/spram.c
index d5d96214cce5..71c7e5e27567 100644
--- a/arch/mips/kernel/spram.c
+++ b/arch/mips/kernel/spram.c
@@ -12,6 +12,7 @@
#include <asm/mipsregs.h>
#include <asm/r4kcache.h>
#include <asm/hazards.h>
+#include <asm/spram.h>
/*
* These definitions are correct for the 24K/34K/74K SPRAM sample
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 15/20] mips: mt: include asm/mips_mt.h
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (13 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 14/20] mips: spram: fix missing prototype warning for spram_config Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 16/20] mips: remove extraneous asm-generic/iomap.h include Arnd Bergmann
` (5 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
These two functions have a global prototype but the header is not
included before the function definitions:
arch/mips/kernel/mips-mt.c:50:6: error: no previous prototype for 'mips_mt_regdump' [-Werror=missing-prototypes]
arch/mips/kernel/mips-mt.c:159:6: error: no previous prototype for 'mips_mt_set_cpuoptions' [-Werror=missing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/kernel/mips-mt.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c
index f88b7919f11f..c07d64438b5b 100644
--- a/arch/mips/kernel/mips-mt.c
+++ b/arch/mips/kernel/mips-mt.c
@@ -19,6 +19,7 @@
#include <asm/mipsmtregs.h>
#include <asm/r4kcache.h>
#include <asm/cacheflush.h>
+#include <asm/mips_mt.h>
int vpelimit;
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 16/20] mips: remove extraneous asm-generic/iomap.h include
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (14 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 15/20] mips: mt: include asm/mips_mt.h Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 17/20] mips: suspend: include linux/suspend.h as needed Arnd Bergmann
` (4 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
When this file is included before defining readq(), it misses the declarations
for a couple of functions that now become unusable:
lib/iomap.c:156:5: warning: no previous prototype for 'ioread64_lo_hi' [-Wmissing-prototypes]
lib/iomap.c:163:5: warning: no previous prototype for 'ioread64_hi_lo' [-Wmissing-prototypes]
lib/iomap.c:170:5: warning: no previous prototype for 'ioread64be_lo_hi' [-Wmissing-prototypes]
lib/iomap.c:178:5: warning: no previous prototype for 'ioread64be_hi_lo' [-Wmissing-prototypes]
lib/iomap.c:264:6: warning: no previous prototype for 'iowrite64_lo_hi' [-Wmissing-prototypes]
lib/iomap.c:272:6: warning: no previous prototype for 'iowrite64_hi_lo' [-Wmissing-prototypes]
lib/iomap.c:280:6: warning: no previous prototype for 'iowrite64be_lo_hi' [-Wmissing-prototypes]
lib/iomap.c:288:6: warning: no previous prototype for 'iowrite64be_hi_lo' [-Wmissing-prototypes]
The file is included again later from asm-generic/io.h, so dropping the initial
include statement makes it do the right thing, both for avoiding the warning
and for actually providing these functions.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/include/asm/io.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index b0866100baf2..85bbd967e05f 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -187,8 +187,6 @@ void iounmap(const volatile void __iomem *addr);
#define ioremap_wc(offset, size) \
ioremap_prot((offset), (size), boot_cpu_data.writecombine)
-#include <asm-generic/iomap.h>
-
#if defined(CONFIG_CPU_CAVIUM_OCTEON)
#define war_io_reorder_wmb() wmb()
#else
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 17/20] mips: suspend: include linux/suspend.h as needed
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (15 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 16/20] mips: remove extraneous asm-generic/iomap.h include Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 18/20] mips: hide conditionally unused functions Arnd Bergmann
` (3 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
A couple of functions are defined by the architecture and declared in
linux/suspend.h, but mips is lacking the corresponding #include statement
before the definition:
arch/mips/power/cpu.c:16:6: warning: no previous prototype for 'save_processor_state' [-Wmissing-prototypes]
arch/mips/power/cpu.c:26:6: warning: no previous prototype for 'restore_processor_state' [-Wmissing-prototypes]
arch/mips/power/cpu.c:36:5: warning: no previous prototype for 'pfn_is_nosave' [-Wmissing-prototypes]
arch/mips/power/hibernate.c:6:5: warning: no previous prototype for 'swsusp_arch_resume' [-Wmissing-prototypes]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/power/cpu.c | 1 +
arch/mips/power/hibernate.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/arch/mips/power/cpu.c b/arch/mips/power/cpu.c
index a15e29dfc7b3..d8ef7778e535 100644
--- a/arch/mips/power/cpu.c
+++ b/arch/mips/power/cpu.c
@@ -6,6 +6,7 @@
* Author: Hu Hongbing <huhb@lemote.com>
* Wu Zhangjin <wuzhangjin@gmail.com>
*/
+#include <linux/suspend.h>
#include <asm/sections.h>
#include <asm/fpu.h>
#include <asm/dsp.h>
diff --git a/arch/mips/power/hibernate.c b/arch/mips/power/hibernate.c
index 94ab17c3c49d..192879e76c85 100644
--- a/arch/mips/power/hibernate.c
+++ b/arch/mips/power/hibernate.c
@@ -1,4 +1,5 @@
// SPDX-License-Identifier: GPL-2.0
+#include <linux/suspend.h>
#include <asm/tlbflush.h>
extern int restore_image(void);
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 18/20] mips: hide conditionally unused functions
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (16 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 17/20] mips: suspend: include linux/suspend.h as needed Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 19/20] mips: smp: fix setup_profiling_timer() prototype Arnd Bergmann
` (2 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
A couple of functions are defined unconditionally but have a
conditional declaration:
arch/mips/mm/tlb-r4k.c:461:12: error: no previous prototype for 'add_temporary_entry' [-Werror=missing-prototypes]
arch/mips/mm/pgtable-64.c:92:7: error: no previous prototype for 'mk_pmd' [-Werror=missing-prototypes]
arch/mips/mm/pgtable-64.c:101:6: error: no previous prototype for 'set_pmd_at' [-Werror=missing-prototypes]
Since there are no callers in these configurations, add the same #ifdef
checks around the definitions.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/mm/pgtable-64.c | 2 ++
arch/mips/mm/tlb-r4k.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/arch/mips/mm/pgtable-64.c b/arch/mips/mm/pgtable-64.c
index c76d21f7dffb..1e544827dea9 100644
--- a/arch/mips/mm/pgtable-64.c
+++ b/arch/mips/mm/pgtable-64.c
@@ -89,6 +89,7 @@ void pud_init(void *addr)
}
#endif
+#ifdef CONFIG_TRANSPARENT_HUGEPAGE
pmd_t mk_pmd(struct page *page, pgprot_t prot)
{
pmd_t pmd;
@@ -103,6 +104,7 @@ void set_pmd_at(struct mm_struct *mm, unsigned long addr,
{
*pmdp = pmd;
}
+#endif
void __init pagetable_init(void)
{
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
index 44411b20c7ec..7e2a0011a6fb 100644
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -458,6 +458,7 @@ EXPORT_SYMBOL(has_transparent_hugepage);
int temp_tlb_entry;
+#ifndef CONFIG_64BIT
__init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
unsigned long entryhi, unsigned long pagemask)
{
@@ -496,6 +497,7 @@ __init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
local_irq_restore(flags);
return ret;
}
+#endif
static int ntlb;
static int __init set_ntlb(char *str)
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 19/20] mips: smp: fix setup_profiling_timer() prototype
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (17 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 18/20] mips: hide conditionally unused functions Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-04 11:57 ` [PATCH 20/20] mips: kexec: include linux/reboot.h Arnd Bergmann
2023-12-05 11:00 ` [PATCH 00/20] mips: address -Wmissing-prototypes warnings Thomas Bogendoerfer
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
The function is unconditionally defined in smp.c but is conditionally
declared in a header that is not included here.
arch/mips/kernel/smp.c:473:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
Add the missing #include and #ifdef to match the declaration.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/kernel/smp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 8fbef537fb88..774e4dcd86d2 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -10,6 +10,7 @@
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
+#include <linux/profile.h>
#include <linux/smp.h>
#include <linux/spinlock.h>
#include <linux/threads.h>
@@ -468,11 +469,13 @@ int __cpu_up(unsigned int cpu, struct task_struct *tidle)
return 0;
}
+#ifdef CONFIG_PROFILING
/* Not really SMP stuff ... */
int setup_profiling_timer(unsigned int multiplier)
{
return 0;
}
+#endif
static void flush_tlb_all_ipi(void *info)
{
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 20/20] mips: kexec: include linux/reboot.h
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (18 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 19/20] mips: smp: fix setup_profiling_timer() prototype Arnd Bergmann
@ 2023-12-04 11:57 ` Arnd Bergmann
2023-12-05 11:00 ` [PATCH 00/20] mips: address -Wmissing-prototypes warnings Thomas Bogendoerfer
20 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2023-12-04 11:57 UTC (permalink / raw)
To: linux-mips
Cc: Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List, Thomas Bogendoerfer
From: Arnd Bergmann <arnd@arndb.de>
Two functions are provided for kexec, but the mips implementation is
missing the corresponding #include statment:
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]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/mips/kernel/machine_kexec.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/mips/kernel/machine_kexec.c b/arch/mips/kernel/machine_kexec.c
index 432bfd3e7f22..4e3579bbd620 100644
--- a/arch/mips/kernel/machine_kexec.c
+++ b/arch/mips/kernel/machine_kexec.c
@@ -8,6 +8,7 @@
#include <linux/mm.h>
#include <linux/delay.h>
#include <linux/libfdt.h>
+#include <linux/reboot.h>
#include <asm/cacheflush.h>
#include <asm/page.h>
--
2.39.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 00/20] mips: address -Wmissing-prototypes warnings
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
` (19 preceding siblings ...)
2023-12-04 11:57 ` [PATCH 20/20] mips: kexec: include linux/reboot.h Arnd Bergmann
@ 2023-12-05 11:00 ` Thomas Bogendoerfer
20 siblings, 0 replies; 22+ messages in thread
From: Thomas Bogendoerfer @ 2023-12-05 11:00 UTC (permalink / raw)
To: Arnd Bergmann
Cc: linux-mips, Arnd Bergmann, Andrew Morton, Stephen Rothwell,
Linux Kernel Mailing List
On Mon, Dec 04, 2023 at 12:56:50PM +0100, Arnd Bergmann wrote:
> The patches could either go through Thomas's mips tree, or
> alternatively through linux-mm along with the hexagon patches
> that Andrew has already merged.
I'd prefer to have in MIPS tree to also fix the other missing pieces.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2023-12-05 11:00 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-04 11:56 [PATCH 00/20] mips: address -Wmissing-prototypes warnings Arnd Bergmann
2023-12-04 11:56 ` [PATCH 01/20] mips: decompress: fix add missing prototypes Arnd Bergmann
2023-12-04 11:56 ` [PATCH 02/20] mips: add asm/syscalls.h header Arnd Bergmann
2023-12-04 11:56 ` [PATCH 03/20] mips: add missing declarations for trap handlers Arnd Bergmann
2023-12-04 11:56 ` [PATCH 04/20] mips: rs870e: stop exporting local functions Arnd Bergmann
2023-12-04 11:56 ` [PATCH 05/20] mips: signal: move sigcontext declarations to header Arnd Bergmann
2023-12-04 11:56 ` [PATCH 06/20] mips: mark local function static if possible Arnd Bergmann
2023-12-04 11:56 ` [PATCH 07/20] mips: move build_tlb_refill_handler() prototype Arnd Bergmann
2023-12-04 11:56 ` [PATCH 08/20] mips: move jump_label_apply_nops() declaration to header Arnd Bergmann
2023-12-04 11:56 ` [PATCH 09/20] mips: unhide uasm_in_compat_space_p() declaration Arnd Bergmann
2023-12-04 11:57 ` [PATCH 10/20] mips: fix setup_zero_pages() prototype Arnd Bergmann
2023-12-04 11:57 ` [PATCH 11/20] mips: fix tlb_init() prototype Arnd Bergmann
2023-12-04 11:57 ` [PATCH 12/20] mips: move cache declarations into header Arnd Bergmann
2023-12-04 11:57 ` [PATCH 13/20] mips: add missing declarations Arnd Bergmann
2023-12-04 11:57 ` [PATCH 14/20] mips: spram: fix missing prototype warning for spram_config Arnd Bergmann
2023-12-04 11:57 ` [PATCH 15/20] mips: mt: include asm/mips_mt.h Arnd Bergmann
2023-12-04 11:57 ` [PATCH 16/20] mips: remove extraneous asm-generic/iomap.h include Arnd Bergmann
2023-12-04 11:57 ` [PATCH 17/20] mips: suspend: include linux/suspend.h as needed Arnd Bergmann
2023-12-04 11:57 ` [PATCH 18/20] mips: hide conditionally unused functions Arnd Bergmann
2023-12-04 11:57 ` [PATCH 19/20] mips: smp: fix setup_profiling_timer() prototype Arnd Bergmann
2023-12-04 11:57 ` [PATCH 20/20] mips: kexec: include linux/reboot.h Arnd Bergmann
2023-12-05 11:00 ` [PATCH 00/20] mips: address -Wmissing-prototypes warnings Thomas Bogendoerfer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.