[PATCH 3/3] MIPS: DEC: Fix prototypes for halt/reset handlers

From: Maciej W. Rozycki

Date: Mon May 04 2026 - 16:16:16 EST


Remove a bunch of compilation warnings for halt/reset handlers:

arch/mips/dec/reset.c:22:17: warning: no previous prototype for 'dec_machine_restart' [-Wmissing-prototypes]
22 | void __noreturn dec_machine_restart(char *command)
| ^~~~~~~~~~~~~~~~~~~
arch/mips/dec/reset.c:27:17: warning: no previous prototype for 'dec_machine_halt' [-Wmissing-prototypes]
27 | void __noreturn dec_machine_halt(void)
| ^~~~~~~~~~~~~~~~
arch/mips/dec/reset.c:32:17: warning: no previous prototype for 'dec_machine_power_off' [-Wmissing-prototypes]
32 | void __noreturn dec_machine_power_off(void)
| ^~~~~~~~~~~~~~~~~~~~~
arch/mips/dec/reset.c:38:13: warning: no previous prototype for 'dec_intr_halt'
[-Wmissing-prototypes]
38 | irqreturn_t dec_intr_halt(int irq, void *dev_id)
| ^~~~~~~~~~~~~

(which get promoted to compilation errors with CONFIG_WERROR), by moving
the local prototypes from arch/mips/dec/setup.c to a dedicated header
for arch/mips/dec/reset.c to use as well. No functional change.

Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxx>
---
arch/mips/dec/reset.c | 2 ++
arch/mips/dec/setup.c | 6 +-----
arch/mips/include/asm/dec/reset.h | 19 +++++++++++++++++++
3 files changed, 22 insertions(+), 5 deletions(-)

linux-mips-dec-reset.diff
Index: linux-macro/arch/mips/dec/reset.c
===================================================================
--- linux-macro.orig/arch/mips/dec/reset.c
+++ linux-macro/arch/mips/dec/reset.c
@@ -10,6 +10,8 @@

#include <asm/addrspace.h>

+#include <asm/dec/reset.h>
+
typedef void __noreturn (* noret_func_t)(void);

static inline void __noreturn back_to_prom(void)
Index: linux-macro/arch/mips/dec/setup.c
===================================================================
--- linux-macro.orig/arch/mips/dec/setup.c
+++ linux-macro/arch/mips/dec/setup.c
@@ -48,14 +48,10 @@
#include <asm/dec/kn02ca.h>
#include <asm/dec/kn03.h>
#include <asm/dec/kn230.h>
+#include <asm/dec/reset.h>
#include <asm/dec/system.h>


-extern void dec_machine_restart(char *command);
-extern void dec_machine_halt(void);
-extern void dec_machine_power_off(void);
-extern irqreturn_t dec_intr_halt(int irq, void *dev_id);
-
unsigned long dec_kn_slot_base, dec_kn_slot_size;

EXPORT_SYMBOL(dec_kn_slot_base);
Index: linux-macro/arch/mips/include/asm/dec/reset.h
===================================================================
--- /dev/null
+++ linux-macro/arch/mips/include/asm/dec/reset.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * arch/mips/include/asm/dec/reset.h
+ *
+ * DECstation/DECsystem halt/reset support.
+ *
+ * Copyright (C) 2026 Maciej W. Rozycki
+ */
+#ifndef __ASM_DEC_RESET_H
+#define __ASM_DEC_RESET_H
+
+#include <linux/compiler_attributes.h>
+
+void __noreturn dec_machine_restart(char *command);
+void __noreturn dec_machine_halt(void);
+void __noreturn dec_machine_power_off(void);
+irqreturn_t dec_intr_halt(int irq, void *dev_id);
+
+#endif /* __ASM_DEC_RESET_H */