Commit 10142a9b authored by Corey Minyard's avatar Corey Minyard Committed by Anton Blanchard

[PATCH] fix ipmi_devintf.c compilation

This fixes ipmi compilation (with some documentation updates and another
minor fix, too).

It also fixes a problem with the state machine getting stuck in a
certain error condition.
parent f741fc08
...@@ -5,6 +5,18 @@ ...@@ -5,6 +5,18 @@
<minyard@mvista.com> <minyard@mvista.com>
<minyard@acm.org> <minyard@acm.org>
The Intelligent Platform Management Interface, or IPMI, is a
standard for controlling intelligent devices that monitor a system.
It provides for dynamic discovery of sensors in the system and the
ability to monitor the sensors and be informed when the sensor's
values change or go outside certain boundaries. It also has a
standardized database for field-replacable units (FRUs) and a watchdog
timer.
To use this, you need an interface to an IPMI controller in your
system (called a Baseboard Management Controller, or BMC) and
management software that can use the IPMI system.
This document describes how to use the IPMI driver for Linux. If you This document describes how to use the IPMI driver for Linux. If you
are not familiar with IPMI itself, see the web site at are not familiar with IPMI itself, see the web site at
http://www.intel.com/design/servers/ipmi/index.htm. IPMI is a big http://www.intel.com/design/servers/ipmi/index.htm. IPMI is a big
......
...@@ -7,8 +7,14 @@ config IPMI_HANDLER ...@@ -7,8 +7,14 @@ config IPMI_HANDLER
tristate 'IPMI top-level message handler' tristate 'IPMI top-level message handler'
help help
This enables the central IPMI message handler, required for IPMI This enables the central IPMI message handler, required for IPMI
to work. Note that you must have this enabled to do any other IPMI to work.
things. See IPMI.txt for more details.
IPMI is a standard for managing sensors (temperature,
voltage, etc.) in a system.
See Documentation/IPMI.txt for more details on the driver.
If unsure, say N.
config IPMI_PANIC_EVENT config IPMI_PANIC_EVENT
bool 'Generate a panic event to all BMCs on a panic' bool 'Generate a panic event to all BMCs on a panic'
......
...@@ -449,7 +449,7 @@ static void ipmi_new_smi(int if_num) ...@@ -449,7 +449,7 @@ static void ipmi_new_smi(int if_num)
if (if_num > MAX_DEVICES) if (if_num > MAX_DEVICES)
return; return;
snprinf(name, sizeof(name), "ipmidev/%d", if_num); snprintf(name, sizeof(name), "ipmidev/%d", if_num);
handles[if_num] = devfs_register(NULL, name, DEVFS_FL_NONE, handles[if_num] = devfs_register(NULL, name, DEVFS_FL_NONE,
ipmi_major, if_num, ipmi_major, if_num,
......
...@@ -826,7 +826,7 @@ static int init_one_kcs(int kcs_port, ...@@ -826,7 +826,7 @@ static int init_one_kcs(int kcs_port,
if (kcs_port && kcs_physaddr) if (kcs_port && kcs_physaddr)
return -EINVAL; return -EINVAL;
new_kcs = kmalloc(kcs_size(), GFP_KERNEL); new_kcs = kmalloc(sizeof(*new_kcs), GFP_KERNEL);
if (!new_kcs) { if (!new_kcs) {
printk(KERN_ERR "ipmi_kcs: out of memory\n"); printk(KERN_ERR "ipmi_kcs: out of memory\n");
return -ENOMEM; return -ENOMEM;
......
...@@ -468,7 +468,7 @@ enum kcs_result kcs_event(struct kcs_data *kcs, long time) ...@@ -468,7 +468,7 @@ enum kcs_result kcs_event(struct kcs_data *kcs, long time)
break; break;
case KCS_HOSED: case KCS_HOSED:
return KCS_SM_HOSED; break;
} }
if (kcs->state == KCS_HOSED) { if (kcs->state == KCS_HOSED) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment