Rev 1126 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1117 | serge | 1 | |
2 | #define __TYPES_H__ |
||
3 | |||
4 | |||
5 | |||
6 | |||
7 | |||
8 | #define true 1 |
||
9 | |||
10 | |||
11 | typedef unsigned int count_t; |
||
12 | typedef unsigned int addr_t; |
||
13 | |||
14 | |||
15 | typedef unsigned short u16; |
||
16 | typedef unsigned int u32; |
||
17 | typedef unsigned long long u64; |
||
18 | |||
19 | |||
20 | typedef unsigned short __u16; |
||
21 | typedef unsigned int __u32; |
||
22 | typedef unsigned long long __u64; |
||
23 | |||
24 | |||
25 | typedef signed short __s16; |
||
26 | typedef signed int __s32; |
||
27 | typedef signed long long __s64; |
||
28 | |||
29 | |||
30 | |||
31 | typedef unsigned short uint16_t; |
||
32 | typedef unsigned int uint32_t; |
||
33 | typedef unsigned long long uint64_t; |
||
34 | |||
35 | |||
36 | typedef unsigned short u16_t; |
||
37 | typedef unsigned int u32_t; |
||
38 | typedef unsigned long long u64_t; |
||
39 | |||
40 | |||
1123 | serge | 41 | typedef signed long long int64_t; |
42 | |||
43 | |||
1117 | serge | 44 | |
45 | |||
46 | typedef uint32_t resource_size_t; |
||
47 | |||
48 | |||
49 | |||
50 | |||
51 | #define cpu_to_le32(v32) (v32) |
||
52 | #define cpu_to_le64(v64) (v64) |
||
53 | #define le16_to_cpu(v16) (v16) |
||
54 | #define le32_to_cpu(v32) (v32) |
||
55 | #define le64_to_cpu(v64) (v64) |
||
56 | |||
57 | |||
58 | #define unlikely(x) __builtin_expect(!!(x), 0) |
||
59 | |||
60 | |||
1123 | serge | 61 | |
1117 | serge | 62 | |
1123 | serge | 63 | |
1117 | serge | 64 | |
1123 | serge | 65 | |
66 | |||
67 | unsigned long name[BITS_TO_LONGS(bits)] |
||
68 | |||
69 | |||
70 | |||
1117 | serge | 71 | #define KERN_ALERT "<1>" /* action must be taken immediately */ |
72 | #define KERN_CRIT "<2>" /* critical conditions */ |
||
73 | #define KERN_ERR "<3>" /* error conditions */ |
||
74 | #define KERN_WARNING "<4>" /* warning conditions */ |
||
75 | #define KERN_NOTICE "<5>" /* normal but significant condition */ |
||
76 | #define KERN_INFO "<6>" /* informational */ |
||
77 | #define KERN_DEBUG "<7>" /* debug-level messages */ |
||
78 | |||
79 | |||
80 | |||
81 | |||
82 | |||
83 | |||
84 | |||
85 | |||
86 | |||
87 | |||
88 | |||
89 | printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __func__ , ##arg) |
||
90 | |||
91 | |||
92 | |||
93 | |||
94 | BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(typeof(a), typeof(&a[0]))) |
||
95 | |||
96 | |||
97 | |||
98 | |||
99 | |||
100 | |||
101 | |||
102 | #define BUG() do { \ |
||
103 | printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \ |
||
104 | /* panic("BUG!"); */ \ |
||
105 | } while (0) |
||
106 | #endif |
||
107 | |||
108 | |||
109 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0) |
||
110 | #endif |
||
111 | |||
112 | |||
113 | |||
114 | |||
115 | #define MTRR_TYPE_WRCOMB 1 |
||
116 | #define MTRR_TYPE_WRTHROUGH 4 |
||
117 | #define MTRR_TYPE_WRPROT 5 |
||
118 | #define MTRR_TYPE_WRBACK 6 |
||
119 | #define MTRR_NUM_TYPES 7 |
||
120 | |||
121 | |||
122 | |||
123 | |||
124 | |||
125 | |||
1123 | serge | 126 | |
127 | |||
128 | |||
129 | |||
130 | |||
1117 | serge | 131 | |
132 | |||
133 | void* memset(void *s, int c, size_t n); |
||
134 | size_t strlen(const char *s); |
||
135 | char *strcpy(char *s1, const char *s2); |
||
1128 | serge | 136 | char *strncpy (char *dst, const char *src, size_t len); |
1123 | serge | 137 | |
1117 | serge | 138 | |
139 | |||
140 | |||
1123 | serge | 141 | #define kfree free |
1117 | serge | 142 | |
143 | |||
144 | { |
||
145 | void *ret = malloc(size); |
||
146 | memset(ret, 0, size); |
||
147 | return ret; |
||
148 | } |
||
149 | |||
150 | |||
151 | |||
152 | |||
153 | |||
154 | |||
155 | const typeof( ((type *)0)->member ) *__mptr = (ptr); \ |
||
156 | (type *)( (char *)__mptr - offsetof(type,member) );}) |
||
157 | |||
158 | |||
159 | |||
160 | |||
161 | #define mb() __asm__ __volatile__("lock; addl $0,0(%esp)") |
||
1119 | serge | 162 | |
1117 | serge | 163 | |
1119 | serge | 164 | #define PAGE_SHIFT 12 |
165 | |||
1117 | serge | 166 | |
1119 | serge | 167 | |
1117 | serge | 168 | |
1123 | serge | 169 | { |
170 | if (nbits <= BITS_PER_LONG) |
||
171 | *dst = 0UL; |
||
172 | else { |
||
173 | int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long); |
||
174 | memset(dst, 0, len); |
||
175 | } |
||
176 | } |
||
177 | |||
1119 | serge | 178 | |
1123 | serge | 179 | |
180 | |||
181 | typeof(x) _x = (x); \ |
||
182 | typeof(y) _y = (y); \ |
||
183 | (void) (&_x == &_y); \ |
||
184 | _x < _y ? _x : _y; }) |
||
185 | |||
186 | |||
187 | typeof(x) _x = (x); \ |
||
188 | typeof(y) _y = (y); \ |
||
189 | (void) (&_x == &_y); \ |
||
190 | _x > _y ? _x : _y; }) |
||
191 | |||
192 | |||
193 | |||
194 | |||
195 | |||
196 | uint32_t __base = (base); \ |
||
197 | uint32_t __rem; \ |
||
198 | (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \ |
||
199 | if (likely(((n) >> 32) == 0)) { \ |
||
200 | __rem = (uint32_t)(n) % __base; \ |
||
201 | (n) = (uint32_t)(n) / __base; \ |
||
202 | } else \ |
||
203 | __rem = __div64_32(&(n), __base); \ |
||
204 | __rem; \ |
||
205 | }) |
||
206 | |||
207 | |||
208 | |||
209 | |||
210 | #define INT_MIN (-INT_MAX - 1) |
||
211 | #define UINT_MAX (~0U) |
||
212 | #define LONG_MAX ((long)(~0UL>>1)) |
||
213 | #define LONG_MIN (-LONG_MAX - 1) |
||
214 | #define ULONG_MAX (~0UL) |
||
215 | #define LLONG_MAX ((long long)(~0ULL>>1)) |
||
216 | #define LLONG_MIN (-LLONG_MAX - 1) |
||
217 | #define ULLONG_MAX (~0ULL) |
||
218 | |||
219 | |||
220 | |||
221 | { |
||
222 | if (n != 0 && size > ULONG_MAX / n) |
||
223 | return NULL; |
||
224 | return kzalloc(n * size, 0); |
||
1125 | serge | 225 | } |
1123 | serge | 226 | |
227 | |||
1125 | serge | 228 | #define LEAVE() dbgprintf("leave %s\n",__FUNCTION__) |
229 | |||
230 | |||
1126 | serge | 231 | #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) |
232 | |||
233 | |||
234 | |||
1117 | serge | 235 |