blob: 7a93551e4905d71f7442cefebaeefd5239e0d768 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#ifndef __MVF_SEMA4__
#define __MVF_SEMA4__
#include <linux/sched.h>
#define MVF_SHMEM_SEMAPHORE_NUMBER (1)
#define MVF_PRINTF_SEMAPHORE_NUMBER (2)
#define MVF_I2C_SEMAPHORE_NUMBER (3)
#define MVF_RESERVED1_SEMAPHORE_NUMBER (4)
#define MVF_RESERVED2_SEMAPHORE_NUMBER (5)
typedef struct mvf_sema4_handle_struct {
int gate_num;
int use_interrupts;
wait_queue_head_t wait_queue;
// stats
unsigned long attempts;
unsigned long interrupts;
struct dentry *debugfs_file;
} MVF_SEMA4;
int mvf_sema4_assign(int gate_num, bool use_interrupts, MVF_SEMA4** sema4_p);
int mvf_sema4_deassign(MVF_SEMA4 *sema4);
int mvf_sema4_lock(MVF_SEMA4 *sema4, unsigned int timeout_us);
int mvf_sema4_unlock(MVF_SEMA4 *sema4);
#endif
|