summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCorey Minyard <minyard@acm.org>2005-03-07 17:59:24 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-03-07 17:59:24 -0800
commita5f17cb26b56417566cfba44fde34887601f4eba (patch)
tree9ee6c160afd1e068f9f8f5b021a2139f1f8dd75e /include
parent1e0b6385639c96fc3f5496ea691f99feab664e29 (diff)
[PATCH] Minor cleanups to the IPMI driver
This patch cleans up the DMI handling so that multiple interfaces can be reported from the DMI tables and so that the DMI slave address can be transferred up to the upper layer. It also adds an option to specify the slave address as an init parm and removes some unnecessary initializers. This patch also adds inc/dec usecount functions for the SMIs so they can modify the usecounts of modules they use (added because the SMB driver uses the I2C code). 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')
-rw-r--r--include/linux/ipmi_smi.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/linux/ipmi_smi.h b/include/linux/ipmi_smi.h
index 88dd37439078..e36ee157ad67 100644
--- a/include/linux/ipmi_smi.h
+++ b/include/linux/ipmi_smi.h
@@ -104,13 +104,22 @@ struct ipmi_smi_handlers
/* Called to poll for work to do. This is so upper layers can
poll for operations during things like crash dumps. */
void (*poll)(void *send_info);
+
+ /* Tell the handler that we are using it/not using it. The
+ message handler get the modules that this handler belongs
+ to; this function lets the SMI claim any modules that it
+ uses. These may be NULL if this is not required. */
+ int (*inc_usecount)(void *send_info);
+ void (*dec_usecount)(void *send_info);
};
-/* Add a low-level interface to the IPMI driver. */
+/* Add a low-level interface to the IPMI driver. Note that if the
+ interface doesn't know its slave address, it should pass in zero. */
int ipmi_register_smi(struct ipmi_smi_handlers *handlers,
void *send_info,
unsigned char version_major,
unsigned char version_minor,
+ unsigned char slave_addr,
ipmi_smi_t *intf);
/*