vserver 2.0 rc7
[linux-2.6.git] / include / linux / ipmi_smi.h
index 88dd374..e36ee15 100644 (file)
@@ -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);
 
 /*