Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
[pandora-kernel.git] / drivers / staging / tidspbridge / include / dspbridge / dspmsg.h
1 /*
2  * dspmsg.h
3  *
4  * DSP-BIOS Bridge driver support functions for TI OMAP processors.
5  *
6  * Declares the upper edge message class library functions required by
7  * all Bridge driver / DSP API interface tables.  These functions are
8  * implemented by every class of Bridge driver channel library.
9  *
10  * Notes:
11  *   Function comment headers reside in dspdefs.h.
12  *
13  * Copyright (C) 2005-2006 Texas Instruments, Inc.
14  *
15  * This package is free software; you can redistribute it and/or modify
16  * it under the terms of the GNU General Public License version 2 as
17  * published by the Free Software Foundation.
18  *
19  * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
20  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
21  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22  */
23
24 #ifndef DSPMSG_
25 #define DSPMSG_
26
27 #include <dspbridge/msgdefs.h>
28
29 extern int bridge_msg_create(struct msg_mgr **msg_man,
30                                     struct dev_object *hdev_obj,
31                                     msg_onexit msg_callback);
32
33 extern int bridge_msg_create_queue(struct msg_mgr *hmsg_mgr,
34                                        struct msg_queue **msgq,
35                                        u32 msgq_id, u32 max_msgs, void *arg);
36
37 extern void bridge_msg_delete(struct msg_mgr *hmsg_mgr);
38
39 extern void bridge_msg_delete_queue(struct msg_queue *msg_queue_obj);
40
41 extern int bridge_msg_get(struct msg_queue *msg_queue_obj,
42                                  struct dsp_msg *pmsg, u32 utimeout);
43
44 extern int bridge_msg_put(struct msg_queue *msg_queue_obj,
45                                  const struct dsp_msg *pmsg, u32 utimeout);
46
47 extern int bridge_msg_register_notify(struct msg_queue *msg_queue_obj,
48                                           u32 event_mask,
49                                           u32 notify_type,
50                                           struct dsp_notification
51                                           *hnotification);
52
53 extern void bridge_msg_set_queue_id(struct msg_queue *msg_queue_obj,
54                                         u32 msgq_id);
55
56 #endif /* DSPMSG_ */