MIPS: ARC: Use __noreturn / unreachable in ARC termination functions.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Ralf Baechle 2015-01-02 17:16:24 +01:00
parent 2f26c48824
commit 7f84c0a24a

View file

@ -9,6 +9,7 @@
* Copyright (C) 1999 Ralf Baechle (ralf@gnu.org) * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org)
* Copyright (C) 1999 Silicon Graphics, Inc. * Copyright (C) 1999 Silicon Graphics, Inc.
*/ */
#include <linux/compiler.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/irqflags.h> #include <linux/irqflags.h>
@ -19,50 +20,55 @@
#include <asm/sgialib.h> #include <asm/sgialib.h>
#include <asm/bootinfo.h> #include <asm/bootinfo.h>
VOID VOID __noreturn
ArcHalt(VOID) ArcHalt(VOID)
{ {
bc_disable(); bc_disable();
local_irq_disable(); local_irq_disable();
ARC_CALL0(halt); ARC_CALL0(halt);
never: goto never;
unreachable();
} }
VOID VOID __noreturn
ArcPowerDown(VOID) ArcPowerDown(VOID)
{ {
bc_disable(); bc_disable();
local_irq_disable(); local_irq_disable();
ARC_CALL0(pdown); ARC_CALL0(pdown);
never: goto never;
unreachable();
} }
/* XXX is this a soft reset basically? XXX */ /* XXX is this a soft reset basically? XXX */
VOID VOID __noreturn
ArcRestart(VOID) ArcRestart(VOID)
{ {
bc_disable(); bc_disable();
local_irq_disable(); local_irq_disable();
ARC_CALL0(restart); ARC_CALL0(restart);
never: goto never;
unreachable();
} }
VOID VOID __noreturn
ArcReboot(VOID) ArcReboot(VOID)
{ {
bc_disable(); bc_disable();
local_irq_disable(); local_irq_disable();
ARC_CALL0(reboot); ARC_CALL0(reboot);
never: goto never;
unreachable();
} }
VOID VOID __noreturn
ArcEnterInteractiveMode(VOID) ArcEnterInteractiveMode(VOID)
{ {
bc_disable(); bc_disable();
local_irq_disable(); local_irq_disable();
ARC_CALL0(imode); ARC_CALL0(imode);
never: goto never;
unreachable();
} }
LONG LONG