aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/rio.h
diff options
context:
space:
mode:
authorMatt Porter <mporter@kernel.crashing.org>2005-11-07 04:00:20 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-07 10:53:47 -0500
commit6978bbc097c2f665c336927a9d56ae39ef75fa56 (patch)
tree541673cd413025c09b52984c5dc0333133c46a71 /include/linux/rio.h
parent2b0c28d7f8846f80a436093e906f5175d1fa8f55 (diff)
[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 {
132 */ 132 */
133struct rio_msg { 133struct rio_msg {
134 struct resource *res; 134 struct resource *res;
135 void (*mcback) (struct rio_mport * mport, int mbox, int slot); 135 void (*mcback) (struct rio_mport * mport, void *dev_id, int mbox, int slot);
136}; 136};
137 137
138/** 138/**
@@ -140,11 +140,13 @@ struct rio_msg {
140 * @node: Node in list of doorbell events 140 * @node: Node in list of doorbell events
141 * @res: Doorbell resource 141 * @res: Doorbell resource
142 * @dinb: Doorbell event callback 142 * @dinb: Doorbell event callback
143 * @dev_id: Device specific pointer to pass on event
143 */ 144 */
144struct rio_dbell { 145struct rio_dbell {
145 struct list_head node; 146 struct list_head node;
146 struct resource *res; 147 struct resource *res;
147 void (*dinb) (struct rio_mport * mport, u16 src, u16 dst, u16 info); 148 void (*dinb) (struct rio_mport *mport, void *dev_id, u16 src, u16 dst, u16 info);
149 void *dev_id;
148}; 150};
149 151
150/** 152/**
@@ -314,9 +316,9 @@ extern int rio_hw_add_outb_message(struct rio_mport *, struct rio_dev *, int,
314 void *, size_t); 316 void *, size_t);
315extern int rio_hw_add_inb_buffer(struct rio_mport *, int, void *); 317extern int rio_hw_add_inb_buffer(struct rio_mport *, int, void *);
316extern void *rio_hw_get_inb_message(struct rio_mport *, int); 318extern void *rio_hw_get_inb_message(struct rio_mport *, int);
317extern int rio_open_inb_mbox(struct rio_mport *, int, int); 319extern int rio_open_inb_mbox(struct rio_mport *, void *, int, int);
318extern void rio_close_inb_mbox(struct rio_mport *, int); 320extern void rio_close_inb_mbox(struct rio_mport *, int);
319extern int rio_open_outb_mbox(struct rio_mport *, int, int); 321extern int rio_open_outb_mbox(struct rio_mport *, void *, int, int);
320extern void rio_close_outb_mbox(struct rio_mport *, int); 322extern void rio_close_outb_mbox(struct rio_mport *, int);
321 323
322#endif /* __KERNEL__ */ 324#endif /* __KERNEL__ */