aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/connector.h
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2009-05-08 21:29:27 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2009-05-08 21:29:27 -0400
commitd585a021c0b10b0477d6b608c53e1feb8cde0507 (patch)
tree5ca059da1db7f15d4b29427644ad9c08270c885c /include/linux/connector.h
parent84e5b0d00f8f84c4ae226be131d4bebbcee88bd3 (diff)
parent091bf7624d1c90cec9e578a18529f615213ff847 (diff)
Merge commit 'v2.6.30-rc5' into next
Diffstat (limited to 'include/linux/connector.h')
-rw-r--r--include/linux/connector.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/linux/connector.h b/include/linux/connector.h
index 34f2789d9b9b..b9966e64604e 100644
--- a/include/linux/connector.h
+++ b/include/linux/connector.h
@@ -39,8 +39,10 @@
39#define CN_IDX_V86D 0x4 39#define CN_IDX_V86D 0x4
40#define CN_VAL_V86D_UVESAFB 0x1 40#define CN_VAL_V86D_UVESAFB 0x1
41#define CN_IDX_BB 0x5 /* BlackBoard, from the TSP GPL sampling framework */ 41#define CN_IDX_BB 0x5 /* BlackBoard, from the TSP GPL sampling framework */
42#define CN_DST_IDX 0x6
43#define CN_DST_VAL 0x1
42 44
43#define CN_NETLINK_USERS 6 45#define CN_NETLINK_USERS 7
44 46
45/* 47/*
46 * Maximum connector's message size. 48 * Maximum connector's message size.
@@ -109,6 +111,12 @@ struct cn_queue_dev {
109 unsigned char name[CN_CBQ_NAMELEN]; 111 unsigned char name[CN_CBQ_NAMELEN];
110 112
111 struct workqueue_struct *cn_queue; 113 struct workqueue_struct *cn_queue;
114 /* Sent to kevent to create cn_queue only when needed */
115 struct work_struct wq_creation;
116 /* Tell if the wq_creation job is pending/completed */
117 atomic_t wq_requested;
118 /* Wait for cn_queue to be created */
119 wait_queue_head_t wq_created;
112 120
113 struct list_head queue_list; 121 struct list_head queue_list;
114 spinlock_t queue_lock; 122 spinlock_t queue_lock;
@@ -164,6 +172,8 @@ int cn_netlink_send(struct cn_msg *, u32, gfp_t);
164int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(void *)); 172int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(void *));
165void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id); 173void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id);
166 174
175int queue_cn_work(struct cn_callback_entry *cbq, struct work_struct *work);
176
167struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *); 177struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *);
168void cn_queue_free_dev(struct cn_queue_dev *dev); 178void cn_queue_free_dev(struct cn_queue_dev *dev);
169 179