summaryrefslogtreecommitdiff
path: root/include/linux/rio.h
diff options
context:
space:
mode:
authorMatt Porter <mporter@kernel.crashing.org>2005-11-07 01:00:20 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-07 07:53:47 -0800
commit6978bbc097c2f665c336927a9d56ae39ef75fa56 (patch)
tree541673cd413025c09b52984c5dc0333133c46a71 /include/linux/rio.h
parent2b0c28d7f8846f80a436093e906f5175d1fa8f55 (diff)
downloadlwn-6978bbc097c2f665c336927a9d56ae39ef75fa56.tar.gz
lwn-6978bbc097c2f665c336927a9d56ae39ef75fa56.zip
[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>
Diffstat (limited to 'include/linux/rio.h')
-rw-r--r--include/linux/rio.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/linux/rio.h b/include/linux/rio.h
index 5c29f2f477c2..c7e907faae9c 100644
--- a/include/linux/rio.h
+++ b/include/linux/rio.h
@@ -132,7 +132,7 @@ struct rio_dev {
*/
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 @@ struct rio_msg {
* @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 @@ extern int rio_hw_add_outb_message(struct rio_mport *, struct rio_dev *, int,
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__ */