MIPS: ARC: Use __noreturn / unreachable in ARC termination functions.
[linux-drm-fsl-dcu.git] / arch / mips / fw / arc / misc.c
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Miscellaneous ARCS PROM routines.
7  *
8  * Copyright (C) 1996 David S. Miller (davem@davemloft.net)
9  * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org)
10  * Copyright (C) 1999 Silicon Graphics, Inc.
11  */
12 #include <linux/compiler.h>
13 #include <linux/init.h>
14 #include <linux/kernel.h>
15 #include <linux/irqflags.h>
16
17 #include <asm/bcache.h>
18
19 #include <asm/fw/arc/types.h>
20 #include <asm/sgialib.h>
21 #include <asm/bootinfo.h>
22
23 VOID __noreturn
24 ArcHalt(VOID)
25 {
26         bc_disable();
27         local_irq_disable();
28         ARC_CALL0(halt);
29
30         unreachable();
31 }
32
33 VOID __noreturn
34 ArcPowerDown(VOID)
35 {
36         bc_disable();
37         local_irq_disable();
38         ARC_CALL0(pdown);
39
40         unreachable();
41 }
42
43 /* XXX is this a soft reset basically? XXX */
44 VOID __noreturn
45 ArcRestart(VOID)
46 {
47         bc_disable();
48         local_irq_disable();
49         ARC_CALL0(restart);
50
51         unreachable();
52 }
53
54 VOID __noreturn
55 ArcReboot(VOID)
56 {
57         bc_disable();
58         local_irq_disable();
59         ARC_CALL0(reboot);
60
61         unreachable();
62 }
63
64 VOID __noreturn
65 ArcEnterInteractiveMode(VOID)
66 {
67         bc_disable();
68         local_irq_disable();
69         ARC_CALL0(imode);
70
71         unreachable();
72 }
73
74 LONG
75 ArcSaveConfiguration(VOID)
76 {
77         return ARC_CALL0(cfg_save);
78 }
79
80 struct linux_sysid *
81 ArcGetSystemId(VOID)
82 {
83         return (struct linux_sysid *) ARC_CALL0(get_sysid);
84 }
85
86 VOID __init
87 ArcFlushAllCaches(VOID)
88 {
89         ARC_CALL0(cache_flush);
90 }
91
92 DISPLAY_STATUS * __init ArcGetDisplayStatus(ULONG FileID)
93 {
94         return (DISPLAY_STATUS *) ARC_CALL1(GetDisplayStatus, FileID);
95 }