diff options
author | Corey Minyard <minyard@acm.org> | 2005-06-24 01:01:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-24 03:05:23 -0400 |
commit | 3b6259432dee81f928c22c48c080d5f6325ed92e (patch) | |
tree | 4b22a1a9a547a6e3da9d1a45cd83d210d9398fcd /include/linux | |
parent | 8f43f84f13a49fe5f0f7d1595082b6d7ec6daa85 (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')
-rw-r--r-- | include/linux/ipmi.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/ipmi.h b/include/linux/ipmi.h index 2ec265e1045f..596ca6130159 100644 --- a/include/linux/ipmi.h +++ b/include/linux/ipmi.h | |||
@@ -209,6 +209,11 @@ struct kernel_ipmi_msg | |||
209 | #include <linux/list.h> | 209 | #include <linux/list.h> |
210 | #include <linux/module.h> | 210 | #include <linux/module.h> |
211 | 211 | ||
212 | #ifdef CONFIG_PROC_FS | ||
213 | #include <linux/proc_fs.h> | ||
214 | extern struct proc_dir_entry *proc_ipmi_root; | ||
215 | #endif /* CONFIG_PROC_FS */ | ||
216 | |||
212 | /* Opaque type for a IPMI message user. One of these is needed to | 217 | /* Opaque type for a IPMI message user. One of these is needed to |
213 | send and receive messages. */ | 218 | send and receive messages. */ |
214 | typedef struct ipmi_user *ipmi_user_t; | 219 | typedef struct ipmi_user *ipmi_user_t; |