[PATCH] rapidio: message interface updates

Updates the RIO messaging interface to pass a device instance into the
event registeration and callbacks.

Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/include/linux/rio.h b/include/linux/rio.h
index 5c29f2f..c7e907f 100644
--- a/include/linux/rio.h
+++ b/include/linux/rio.h
@@ -132,7 +132,7 @@
  */
 struct rio_msg {
 	struct resource *res;
-	void (*mcback) (struct rio_mport * mport, int mbox, int slot);
+	void (*mcback) (struct rio_mport * mport, void *dev_id, int mbox, int slot);
 };
 
 /**
@@ -140,11 +140,13 @@
  * @node: Node in list of doorbell events
  * @res: Doorbell resource
  * @dinb: Doorbell event callback
+ * @dev_id: Device specific pointer to pass on event
  */
 struct rio_dbell {
 	struct list_head node;
 	struct resource *res;
-	void (*dinb) (struct rio_mport * mport, u16 src, u16 dst, u16 info);
+	void (*dinb) (struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info);
+	void *dev_id;
 };
 
 /**
@@ -314,9 +316,9 @@
 				   void *, size_t);
 extern int rio_hw_add_inb_buffer(struct rio_mport *, int, void *);
 extern void *rio_hw_get_inb_message(struct rio_mport *, int);
-extern int rio_open_inb_mbox(struct rio_mport *, int, int);
+extern int rio_open_inb_mbox(struct rio_mport *, void *, int, int);
 extern void rio_close_inb_mbox(struct rio_mport *, int);
-extern int rio_open_outb_mbox(struct rio_mport *, int, int);
+extern int rio_open_outb_mbox(struct rio_mport *, void *, int, int);
 extern void rio_close_outb_mbox(struct rio_mport *, int);
 
 #endif				/* __KERNEL__ */