diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-04-06 03:02:57 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-06 03:02:57 -0400 |
commit | f541ae326fa120fa5c57433e4d9a133df212ce41 (patch) | |
tree | bdbd94ec72cfc601118051cb35e8617d55510177 /include/linux/connector.h | |
parent | e255357764f92afcafafbd4879b222b8c752065a (diff) | |
parent | 0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c (diff) |
Merge branch 'linus' into perfcounters/core-v2
Merge reason: we have gathered quite a few conflicts, need to merge upstream
Conflicts:
arch/powerpc/kernel/Makefile
arch/x86/ia32/ia32entry.S
arch/x86/include/asm/hardirq.h
arch/x86/include/asm/unistd_32.h
arch/x86/include/asm/unistd_64.h
arch/x86/kernel/cpu/common.c
arch/x86/kernel/irq.c
arch/x86/kernel/syscall_table_32.S
arch/x86/mm/iomap_32.c
include/linux/sched.h
kernel/Makefile
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/connector.h')
-rw-r--r-- | include/linux/connector.h | 12 |
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); | |||
164 | int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(void *)); | 172 | int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(void *)); |
165 | void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id); | 173 | void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id); |
166 | 174 | ||
175 | int queue_cn_work(struct cn_callback_entry *cbq, struct work_struct *work); | ||
176 | |||
167 | struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *); | 177 | struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *); |
168 | void cn_queue_free_dev(struct cn_queue_dev *dev); | 178 | void cn_queue_free_dev(struct cn_queue_dev *dev); |
169 | 179 | ||