Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[linux-drm-fsl-dcu.git] / arch / arc / kernel / reset.c
1 /*
2  * Copyright (C) 2011-2012 Synopsys, Inc. (www.synopsys.com)
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8
9 #include <linux/kernel.h>
10 #include <linux/printk.h>
11 #include <linux/reboot.h>
12 #include <linux/pm.h>
13
14 void machine_halt(void)
15 {
16         /* Halt the processor */
17         __asm__ __volatile__("flag  1\n");
18 }
19
20 void machine_restart(char *__unused)
21 {
22         /* Soft reset : jump to reset vector */
23         pr_info("Put your restart handler here\n");
24         machine_halt();
25 }
26
27 void machine_power_off(void)
28 {
29         /* FIXME ::  power off ??? */
30         machine_halt();
31 }
32
33 void (*pm_power_off) (void) = NULL;
34 EXPORT_SYMBOL(pm_power_off);