Hello!
http://openipmi.sourceforge.net/ provides patches for 2.4.x kernels
with updated IPMI code. However, these patches change the IPMI driver
API by adding an additional argument to ipmi_request():
int ipmi_request(ipmi_user_t user,
struct ipmi_addr *addr,
long msgid,
struct ipmi_msg *msg,
+ void *user_msg_data,
int priority);
(user_msg_data is later returned in the struct ipmi_recv_msg field).
This API change breaks compilation of some lm_sensors drivers
(i2c-ipmb, i2c-ipmi).
The patch below adds compatibility with the new IPMI API to i2c-ipmb
and i2c-ipmi drivers. <linux/ipmi.h> does not provide a real
API-version #define, therefore IPMI_RESPONSE_RESPONSE_TYPE (also added
by the openipmi.sf.net patch) is (ab)used as a new API indicator.
Compile tested only due to lack of hardware.