]> Pileus Git - ~andy/linux/blob - drivers/staging/csr/csr_framework_ext_types.h
staging: csr: Remove CsrThreadHandle
[~andy/linux] / drivers / staging / csr / csr_framework_ext_types.h
1 #ifndef CSR_FRAMEWORK_EXT_TYPES_H__
2 #define CSR_FRAMEWORK_EXT_TYPES_H__
3 /*****************************************************************************
4
5         (c) Cambridge Silicon Radio Limited 2010
6         All rights reserved and confidential information of CSR
7
8         Refer to LICENSE.txt included with this source for details
9         on the license terms.
10
11 *****************************************************************************/
12
13 #ifdef __KERNEL__
14 #include <linux/kthread.h>
15 #include <linux/semaphore.h>
16 #else
17 #include <pthread.h>
18 #endif
19
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23
24
25 #ifdef __KERNEL__
26
27 struct CsrEvent {
28         /* wait_queue for waking the kernel thread */
29         wait_queue_head_t wakeup_q;
30         unsigned int      wakeup_flag;
31 };
32
33 typedef struct CsrEvent CsrEventHandle;
34 typedef struct semaphore CsrMutexHandle;
35
36 #else /* __KERNEL __ */
37
38 struct CsrEvent {
39         pthread_cond_t  event;
40         pthread_mutex_t mutex;
41         u32       eventBits;
42 };
43
44 typedef struct CsrEvent CsrEventHandle;
45 typedef pthread_mutex_t CsrMutexHandle;
46
47 #endif /* __KERNEL__ */
48
49 #ifdef __cplusplus
50 }
51 #endif
52
53 #endif