Rev 1627 | Rev 1970 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1627 | Rev 1964 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | #ifndef __ASSEMBLY__ |
6 | #ifndef __ASSEMBLY__ |
7 | #ifdef __KERNEL__ |
7 | #ifdef __KERNEL__ |
Line 8... | Line 8... | ||
8 | 8 | ||
9 | #define DECLARE_BITMAP(name,bits) \ |
9 | #define DECLARE_BITMAP(name,bits) \ |
10 | unsigned long name[BITS_TO_LONGS(bits)] |
10 | unsigned long name[BITS_TO_LONGS(bits)] |
- | 11 | #else |
|
- | 12 | #ifndef __EXPORTED_HEADERS__ |
|
- | 13 | #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders" |
|
11 | 14 | #endif /* __EXPORTED_HEADERS__ */ |
|
Line 12... | Line 15... | ||
12 | #endif |
15 | #endif |
Line 13... | Line 16... | ||
13 | 16 | ||
Line 173... | Line 176... | ||
173 | typedef __u64 __bitwise __be64; |
176 | typedef __u64 __bitwise __be64; |
Line 174... | Line 177... | ||
174 | 177 | ||
175 | typedef __u16 __bitwise __sum16; |
178 | typedef __u16 __bitwise __sum16; |
Line -... | Line 179... | ||
- | 179 | typedef __u32 __bitwise __wsum; |
|
- | 180 | ||
- | 181 | /* |
|
- | 182 | * aligned_u64 should be used in defining kernel<->userspace ABIs to avoid |
|
- | 183 | * common 32/64-bit compat problems. |
|
- | 184 | * 64-bit values align to 4-byte boundaries on x86_32 (and possibly other |
|
- | 185 | * architectures) and to 8-byte boundaries on 64-bit architetures. The new |
|
- | 186 | * aligned_64 type enforces 8-byte alignment so that structs containing |
|
- | 187 | * aligned_64 values have the same alignment on 32-bit and 64-bit architectures. |
|
- | 188 | * No conversions are necessary between 32-bit user-space and a 64-bit kernel. |
|
- | 189 | */ |
|
- | 190 | #define __aligned_u64 __u64 __attribute__((aligned(8))) |
|
- | 191 | #define __aligned_be64 __be64 __attribute__((aligned(8))) |
|
176 | typedef __u32 __bitwise __wsum; |
192 | #define __aligned_le64 __le64 __attribute__((aligned(8))) |
177 | 193 | ||
178 | #ifdef __KERNEL__ |
194 | #ifdef __KERNEL__ |
Line 179... | Line 195... | ||
179 | typedef unsigned __bitwise__ gfp_t; |
195 | typedef unsigned __bitwise__ gfp_t; |
Line 186... | Line 202... | ||
186 | #endif |
202 | #endif |
Line 187... | Line 203... | ||
187 | 203 | ||
Line 188... | Line 204... | ||
188 | typedef phys_addr_t resource_size_t; |
204 | typedef phys_addr_t resource_size_t; |
189 | 205 | ||
190 | typedef struct { |
206 | typedef struct { |
Line 191... | Line 207... | ||
191 | volatile int counter; |
207 | int counter; |
192 | } atomic_t; |
208 | } atomic_t; |
193 | 209 | ||
194 | #ifdef CONFIG_64BIT |
210 | #ifdef CONFIG_64BIT |
195 | typedef struct { |
211 | typedef struct { |
Line -... | Line 212... | ||
- | 212 | long counter; |
|
- | 213 | } atomic64_t; |
|
- | 214 | #endif |
|
- | 215 | ||
- | 216 | struct list_head { |
|
- | 217 | struct list_head *next, *prev; |
|
- | 218 | }; |
|
- | 219 | ||
- | 220 | struct hlist_head { |
|
- | 221 | struct hlist_node *first; |
|
- | 222 | }; |
|
- | 223 | ||
196 | volatile long counter; |
224 | struct hlist_node { |
197 | } atomic64_t; |
225 | struct hlist_node *next, **pprev; |
198 | #endif |
226 | }; |
199 | 227 | ||
200 | struct ustat { |
228 | struct ustat { |
Line 241... | Line 269... | ||
241 | #define DRM_ERROR(fmt, arg...) \ |
269 | #define DRM_ERROR(fmt, arg...) \ |
242 | printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __func__ , ##arg) |
270 | printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __func__ , ##arg) |
Line 243... | Line 271... | ||
243 | 271 | ||
Line 244... | Line -... | ||
244 | #define BUILD_BUG_ON_ZERO(e) (sizeof(char[1 - 2 * !!(e)]) - 1) |
- | |
245 | - | ||
Line 246... | Line 272... | ||
246 | #define __must_be_array(a) \ |
272 | #define BUILD_BUG_ON_ZERO(e) (sizeof(char[1 - 2 * !!(e)]) - 1) |
Line 272... | Line 298... | ||
272 | #define MTRR_NUM_TYPES 7 |
298 | #define MTRR_NUM_TYPES 7 |
Line 273... | Line 299... | ||
273 | 299 | ||
Line 274... | Line 300... | ||
274 | int dbgprintf(const char* format, ...); |
300 | int dbgprintf(const char* format, ...); |
- | 301 | ||
Line 275... | Line 302... | ||
275 | 302 | #define GFP_KERNEL 0 |
|
Line 276... | Line 303... | ||
276 | #define GFP_KERNEL 0 |
303 | #define GFP_ATOMIC 0 |
Line 328... | Line 355... | ||
328 | __mod; \ |
355 | __mod; \ |
329 | }) |
356 | }) |
Line -... | Line 357... | ||
- | 357 | ||
- | 358 | ||
- | 359 | ||
- | 360 | #define ENTER() dbgprintf("enter %s\n",__FUNCTION__) |
|
- | 361 | #define LEAVE() dbgprintf("leave %s\n",__FUNCTION__) |
|
- | 362 | ||
- | 363 | struct timeval |
|
- | 364 | { |
|
- | 365 | __kernel_time_t tv_sec; /* seconds */ |
|
- | 366 | __kernel_suseconds_t tv_usec; /* microseconds */ |
|
330 | 367 | }; |
|
Line 331... | Line 368... | ||
331 | 368 |