ARM: tizen_odroid_defconfig: Change the default cpufreq governor
[platform/kernel/linux-exynos.git] / drivers / misc / tizen_global_lock.h
1 /*
2  * Copyright (C) 2013 Samsung Electronics Co.Ltd
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8
9 #ifndef __TIZEN_GLOBAL_LOCK_H__
10 #define __TIZEN_GLOBAL_LOCK_H__
11
12 #include <linux/ioctl.h>
13
14 #define TGL_IOC_BASE    0x32
15 #define TGL_MAJOR       224
16
17 struct tgl_attribute {
18         unsigned int key;
19         unsigned int timeout_ms;
20 };
21
22 struct tgl_user_data {
23         unsigned int key;
24         unsigned int data1;
25         unsigned int data2;
26         unsigned int locked;
27 };
28
29 enum tgl_ioctls {
30         TGL_INIT_LOCK = 1,
31         TGL_DESTROY_LOCK,
32         TGL_LOCK_LOCK,
33         TGL_UNLOCK_LOCK,
34         TGL_SET_DATA,
35         TGL_GET_DATA,
36         TGL_DUMP_LOCKS,
37 };
38
39 #define TGL_IOC_INIT_LOCK       _IOW(TGL_IOC_BASE, TGL_INIT_LOCK,       \
40                                         struct tgl_attribute *)
41 #define TGL_IOC_INIT_LOCK_COMPAT                                        \
42                                 _IOW(TGL_IOC_BASE, TGL_INIT_LOCK,       \
43                                         unsigned int)
44 #define TGL_IOC_DESTROY_LOCK    _IOW(TGL_IOC_BASE, TGL_DESTROY_LOCK,    \
45                                         unsigned int)
46 #define TGL_IOC_LOCK_LOCK       _IOW(TGL_IOC_BASE, TGL_LOCK_LOCK,       \
47                                         unsigned int)
48 #define TGL_IOC_UNLOCK_LOCK     _IOW(TGL_IOC_BASE, TGL_UNLOCK_LOCK,     \
49                                         unsigned int)
50 #define TGL_IOC_SET_DATA        _IOW(TGL_IOC_BASE, TGL_SET_DATA,        \
51                                         struct tgl_user_data *)
52 #define TGL_IOC_SET_DATA_COMPAT _IOW(TGL_IOC_BASE, TGL_SET_DATA,        \
53                                         unsigned int)
54 #define TGL_IOC_GET_DATA        _IOW(TGL_IOC_BASE, TGL_GET_DATA,        \
55                                         struct tgl_user_data *)
56 #define TGL_IOC_GET_DATA_COMPAT _IOW(TGL_IOC_BASE, TGL_GET_DATA,        \
57                                         unsigned int)
58 #define TGL_IOC_DUMP_LOCKS      _IOW(TGL_IOC_BASE, TGL_DUMP_LOCKS, void *)
59 #define TGL_IOC_DUMP_LOCKS_COMPAT                                       \
60                                 _IOW(TGL_IOC_BASE, TGL_DUMP_LOCKS, unsigned int)
61
62 #endif /* __TIZEN_GLOBAL_LOCK_H__ */