aboutsummaryrefslogtreecommitdiff
path: root/include/linux/ipmi.h
diff options
context:
space:
mode:
authorCorey Minyard <minyard@acm.org>2005-06-23 22:01:42 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-24 00:05:23 -0700
commit3b6259432dee81f928c22c48c080d5f6325ed92e (patch)
tree4b22a1a9a547a6e3da9d1a45cd83d210d9398fcd /include/linux/ipmi.h
parent8f43f84f13a49fe5f0f7d1595082b6d7ec6daa85 (diff)
[PATCH] ipmi: add power cycle capability
This patch to adds "power cycle" functionality to the IPMI power off module ipmi_poweroff. It also contains changes to support procfs control of the feature. The power cycle action is considered an optional chassis control in the IPMI specification. However, it is definitely useful when the hardware supports it. A power cycle is usually required in order to reset a firmware in a bad state. This action is critical to allow remote management of servers. The implementation adds power cycle as optional to the ipmi_poweroff module. It can be modified dynamically through the proc entry mentioned above. During a power down and enabled, the power cycle command is sent to the BMC firmware. If it fails either due to non-support or some error, it will retry to send the command as power off. Signed-off-by: Christopher A. Poblete <Chris_Poblete@dell.com> Signed-off-by: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/ipmi.h')
-rw-r--r--include/linux/ipmi.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/ipmi.h b/include/linux/ipmi.h
index 2ec265e1045..596ca613015 100644
--- a/include/linux/ipmi.h
+++ b/include/linux/ipmi.h
@@ -209,6 +209,11 @@ struct kernel_ipmi_msg
#include <linux/list.h>
#include <linux/module.h>
+#ifdef CONFIG_PROC_FS
+#include <linux/proc_fs.h>
+extern struct proc_dir_entry *proc_ipmi_root;
+#endif /* CONFIG_PROC_FS */
+
/* Opaque type for a IPMI message user. One of these is needed to
send and receive messages. */
typedef struct ipmi_user *ipmi_user_t;