Rev 1246 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1246 | Rev 1321 | ||
---|---|---|---|
- | 1 | #ifndef _LINUX_TYPES_H |
|
- | 2 | #define _LINUX_TYPES_H |
|
1 | #ifndef __TYPES_H__ |
3 | |
2 | #define __TYPES_H__ |
- | |
3 | 4 | #include |
|
4 | # define __iomem |
5 | |
5 | # define __force |
- | |
6 | # define __user |
6 | #ifndef __ASSEMBLY__ |
- | 7 | #ifdef __KERNEL__ |
|
7 | 8 | ||
- | 9 | #define DECLARE_BITMAP(name,bits) \ |
|
- | 10 | unsigned long name[BITS_TO_LONGS(bits)] |
|
- | 11 | ||
- | 12 | #endif |
|
- | 13 | ||
- | 14 | #include |
|
- | 15 | ||
- | 16 | #ifdef __KERNEL__ |
|
- | 17 | ||
- | 18 | typedef __u32 __kernel_dev_t; |
|
- | 19 | ||
- | 20 | typedef __kernel_fd_set fd_set; |
|
- | 21 | typedef __kernel_dev_t dev_t; |
|
- | 22 | typedef __kernel_ino_t ino_t; |
|
- | 23 | typedef __kernel_mode_t mode_t; |
|
- | 24 | typedef __kernel_nlink_t nlink_t; |
|
- | 25 | typedef __kernel_off_t off_t; |
|
- | 26 | typedef __kernel_pid_t pid_t; |
|
- | 27 | typedef __kernel_daddr_t daddr_t; |
|
- | 28 | typedef __kernel_key_t key_t; |
|
- | 29 | typedef __kernel_suseconds_t suseconds_t; |
|
- | 30 | typedef __kernel_timer_t timer_t; |
|
- | 31 | typedef __kernel_clockid_t clockid_t; |
|
- | 32 | typedef __kernel_mqd_t mqd_t; |
|
- | 33 | ||
- | 34 | typedef _Bool bool; |
|
- | 35 | ||
- | 36 | typedef __kernel_uid32_t uid_t; |
|
- | 37 | typedef __kernel_gid32_t gid_t; |
|
- | 38 | typedef __kernel_uid16_t uid16_t; |
|
- | 39 | typedef __kernel_gid16_t gid16_t; |
|
- | 40 | ||
- | 41 | typedef unsigned long uintptr_t; |
|
- | 42 | ||
- | 43 | #ifdef CONFIG_UID16 |
|
- | 44 | /* This is defined by include/asm-{arch}/posix_types.h */ |
|
- | 45 | typedef __kernel_old_uid_t old_uid_t; |
|
- | 46 | typedef __kernel_old_gid_t old_gid_t; |
|
- | 47 | #endif /* CONFIG_UID16 */ |
|
- | 48 | ||
- | 49 | #if defined(__GNUC__) |
|
- | 50 | typedef __kernel_loff_t loff_t; |
|
- | 51 | #endif |
|
- | 52 | ||
- | 53 | /* |
|
- | 54 | * The following typedefs are also protected by individual ifdefs for |
|
- | 55 | * historical reasons: |
|
- | 56 | */ |
|
- | 57 | #ifndef _SIZE_T |
|
- | 58 | #define _SIZE_T |
|
- | 59 | typedef __kernel_size_t size_t; |
|
- | 60 | #endif |
|
- | 61 | ||
- | 62 | #ifndef _SSIZE_T |
|
- | 63 | #define _SSIZE_T |
|
- | 64 | typedef __kernel_ssize_t ssize_t; |
|
- | 65 | #endif |
|
- | 66 | ||
- | 67 | #ifndef _PTRDIFF_T |
|
- | 68 | #define _PTRDIFF_T |
|
- | 69 | typedef __kernel_ptrdiff_t ptrdiff_t; |
|
- | 70 | #endif |
|
- | 71 | ||
- | 72 | #ifndef _TIME_T |
|
- | 73 | #define _TIME_T |
|
- | 74 | typedef __kernel_time_t time_t; |
|
- | 75 | #endif |
|
- | 76 | ||
- | 77 | #ifndef _CLOCK_T |
|
- | 78 | #define _CLOCK_T |
|
- | 79 | typedef __kernel_clock_t clock_t; |
|
- | 80 | #endif |
|
- | 81 | ||
- | 82 | #ifndef _CADDR_T |
|
- | 83 | #define _CADDR_T |
|
- | 84 | typedef __kernel_caddr_t caddr_t; |
|
- | 85 | #endif |
|
- | 86 | ||
- | 87 | /* bsd */ |
|
- | 88 | typedef unsigned char u_char; |
|
- | 89 | typedef unsigned short u_short; |
|
- | 90 | typedef unsigned int u_int; |
|
- | 91 | typedef unsigned long u_long; |
|
- | 92 | ||
- | 93 | /* sysv */ |
|
- | 94 | typedef unsigned char unchar; |
|
- | 95 | typedef unsigned short ushort; |
|
- | 96 | typedef unsigned int uint; |
|
- | 97 | typedef unsigned long ulong; |
|
- | 98 | ||
- | 99 | #ifndef __BIT_TYPES_DEFINED__ |
|
- | 100 | #define __BIT_TYPES_DEFINED__ |
|
- | 101 | ||
- | 102 | typedef __u8 u_int8_t; |
|
- | 103 | typedef __s8 int8_t; |
|
- | 104 | typedef __u16 u_int16_t; |
|
- | 105 | typedef __s16 int16_t; |
|
- | 106 | typedef __u32 u_int32_t; |
|
- | 107 | typedef __s32 int32_t; |
|
- | 108 | ||
- | 109 | #endif /* !(__BIT_TYPES_DEFINED__) */ |
|
- | 110 | ||
- | 111 | typedef __u8 uint8_t; |
|
- | 112 | typedef __u16 uint16_t; |
|
- | 113 | typedef __u32 uint32_t; |
|
- | 114 | ||
- | 115 | #if defined(__GNUC__) |
|
- | 116 | typedef __u64 uint64_t; |
|
- | 117 | typedef __u64 u_int64_t; |
|
- | 118 | typedef __s64 int64_t; |
|
- | 119 | #endif |
|
- | 120 | ||
- | 121 | /* this is a special 64bit data type that is 8-byte aligned */ |
|
- | 122 | #define aligned_u64 __u64 __attribute__((aligned(8))) |
|
- | 123 | #define aligned_be64 __be64 __attribute__((aligned(8))) |
|
- | 124 | #define aligned_le64 __le64 __attribute__((aligned(8))) |
|
- | 125 | ||
- | 126 | /** |
|
- | 127 | * The type used for indexing onto a disc or disc partition. |
|
- | 128 | * |
|
- | 129 | * Linux always considers sectors to be 512 bytes long independently |
|
- | 130 | * of the devices real block size. |
|
- | 131 | * |
|
- | 132 | * blkcnt_t is the type of the inode's block count. |
|
- | 133 | */ |
|
- | 134 | #ifdef CONFIG_LBDAF |
|
- | 135 | typedef u64 sector_t; |
|
- | 136 | typedef u64 blkcnt_t; |
|
- | 137 | #else |
|
- | 138 | typedef unsigned long sector_t; |
|
- | 139 | typedef unsigned long blkcnt_t; |
|
- | 140 | #endif |
|
- | 141 | ||
8 | # define WARN(condition, format...) |
142 | /* |
- | 143 | * The type of an index into the pagecache. Use a #define so asm/types.h |
|
- | 144 | * can override it. |
|
- | 145 | */ |
|
- | 146 | #ifndef pgoff_t |
|
- | 147 | #define pgoff_t unsigned long |
|
- | 148 | #endif |
|
- | 149 | ||
- | 150 | #endif /* __KERNEL__ */ |
|
- | 151 | ||
- | 152 | /* |
|
- | 153 | * Below are truly Linux-specific types that should never collide with |
|
- | 154 | * any application/library that wants linux/types.h. |
|
- | 155 | */ |
|
- | 156 | ||
- | 157 | #ifdef __CHECKER__ |
|
9 | 158 | #define __bitwise__ __attribute__((bitwise)) |
|
- | 159 | #else |
|
- | 160 | #define __bitwise__ |
|
- | 161 | #endif |
|
- | 162 | #ifdef __CHECK_ENDIAN__ |
|
- | 163 | #define __bitwise __bitwise__ |
|
- | 164 | #else |
|
- | 165 | #define __bitwise |
|
- | 166 | #endif |
|
- | 167 | ||
- | 168 | typedef __u16 __bitwise __le16; |
|
- | 169 | typedef __u16 __bitwise __be16; |
|
- | 170 | typedef __u32 __bitwise __le32; |
|
- | 171 | typedef __u32 __bitwise __be32; |
|
- | 172 | typedef __u64 __bitwise __le64; |
|
- | 173 | typedef __u64 __bitwise __be64; |
|
- | 174 | ||
- | 175 | typedef __u16 __bitwise __sum16; |
|
- | 176 | typedef __u32 __bitwise __wsum; |
|
- | 177 | ||
- | 178 | #ifdef __KERNEL__ |
|
- | 179 | typedef unsigned __bitwise__ gfp_t; |
|
- | 180 | typedef unsigned __bitwise__ fmode_t; |
|
- | 181 | ||
- | 182 | #ifdef CONFIG_PHYS_ADDR_T_64BIT |
|
- | 183 | typedef u64 phys_addr_t; |
|
- | 184 | #else |
|
- | 185 | typedef u32 phys_addr_t; |
|
- | 186 | #endif |
|
- | 187 | ||
- | 188 | typedef phys_addr_t resource_size_t; |
|
- | 189 | ||
- | 190 | typedef struct { |
|
- | 191 | volatile int counter; |
|
- | 192 | } atomic_t; |
|
- | 193 | ||
- | 194 | #ifdef CONFIG_64BIT |
|
- | 195 | typedef struct { |
|
- | 196 | volatile long counter; |
|
- | 197 | } atomic64_t; |
|
- | 198 | #endif |
|
- | 199 | ||
- | 200 | struct ustat { |
|
- | 201 | __kernel_daddr_t f_tfree; |
|
- | 202 | __kernel_ino_t f_tinode; |
|
- | 203 | char f_fname[6]; |
|
10 | typedef int bool; |
- | |
11 | - | ||
12 | #define false 0 |
- | |
13 | #define true 1 |
- | |
14 | - | ||
15 | typedef int ssize_t; |
- | |
16 | typedef long long loff_t; |
- | |
17 | - | ||
18 | typedef unsigned int size_t; |
- | |
19 | typedef unsigned int count_t; |
- | |
20 | typedef unsigned int addr_t; |
- | |
21 | - | ||
22 | typedef unsigned char u8; |
- | |
23 | typedef unsigned short u16; |
- | |
24 | typedef unsigned int u32; |
- | |
25 | typedef unsigned long long u64; |
- | |
26 | - | ||
27 | typedef unsigned char __u8; |
- | |
28 | typedef unsigned short __u16; |
- | |
29 | typedef unsigned int __u32; |
- | |
30 | typedef unsigned long long __u64; |
- | |
31 | - | ||
32 | typedef signed char __s8; |
- | |
33 | typedef signed short __s16; |
- | |
34 | typedef signed int __s32; |
- | |
35 | typedef signed long long __s64; |
- | |
36 | 204 | char f_fpack[6]; |
|
37 | typedef __u32 __be32; |
205 | }; |
38 | 206 | ||
39 | typedef unsigned char uint8_t; |
207 | #endif /* __KERNEL__ */ |
40 | typedef unsigned short uint16_t; |
208 | #endif /* __ASSEMBLY__ */ |
41 | typedef unsigned int uint32_t; |
209 | |
42 | typedef unsigned long long uint64_t; |
210 | |
43 | 211 | ||
44 | typedef unsigned char u8_t; |
212 | |
45 | typedef unsigned short u16_t; |
213 | typedef unsigned char u8_t; |
46 | typedef unsigned int u32_t; |
214 | typedef unsigned short u16_t; |
47 | typedef unsigned long long u64_t; |
215 | typedef unsigned int u32_t; |
48 | 216 | typedef unsigned long long u64_t; |
|
49 | typedef signed char int8_t; |
217 | |
50 | typedef signed int int32_t; |
218 | typedef unsigned int addr_t; |
51 | typedef signed long long int64_t; |
- | |
52 | - | ||
53 | #define NULL (void*)0 |
- | |
54 | - | ||
55 | typedef uint32_t dma_addr_t; |
- | |
56 | typedef uint32_t resource_size_t; |
- | |
57 | - | ||
58 | - | ||
59 | #define cpu_to_le16(v16) (v16) |
- | |
60 | #define cpu_to_le32(v32) (v32) |
- | |
61 | #define cpu_to_le64(v64) (v64) |
- | |
62 | #define le16_to_cpu(v16) (v16) |
- | |
63 | #define le32_to_cpu(v32) (v32) |
- | |
64 | #define le64_to_cpu(v64) (v64) |
- | |
65 | - | ||
66 | #define likely(x) __builtin_expect(!!(x), 1) |
219 | typedef unsigned int count_t; |
67 | #define unlikely(x) __builtin_expect(!!(x), 0) |
- | |
68 | 220 | ||
69 | #define BITS_PER_LONG 32 |
- | |
70 | 221 | # define WARN(condition, format...) |
|
71 | #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) |
- | |
72 | - | ||
- | 222 | ||
- | 223 | ||
73 | #define BITS_TO_LONGS(nr) DIV_ROUND_UP(nr, BITS_PER_LONG) |
- | |
74 | - | ||
75 | #define DECLARE_BITMAP(name,bits) \ |
- | |
76 | unsigned long name[BITS_TO_LONGS(bits)] |
- | |
77 | 224 | #define false 0 |
|
78 | - | ||
79 | #define KERN_EMERG "<0>" /* system is unusable */ |
- | |
80 | #define KERN_ALERT "<1>" /* action must be taken immediately */ |
- | |
81 | #define KERN_CRIT "<2>" /* critical conditions */ |
225 | #define true 1 |
82 | #define KERN_ERR "<3>" /* error conditions */ |
- | |
83 | #define KERN_WARNING "<4>" /* warning conditions */ |
226 | |
84 | #define KERN_NOTICE "<5>" /* normal but significant condition */ |
227 | |
85 | #define KERN_INFO "<6>" /* informational */ |
228 | #define likely(x) __builtin_expect(!!(x), 1) |
86 | #define KERN_DEBUG "<7>" /* debug-level messages */ |
229 | #define unlikely(x) __builtin_expect(!!(x), 0) |
87 | 230 | ||
88 | //int printk(const char *fmt, ...); |
231 | #define BITS_PER_LONG 32 |
89 | 232 | ||
90 | #define printk(fmt, arg...) dbgprintf(fmt , ##arg) |
233 | #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) |
91 | 234 | ||
92 | 235 | ||
93 | #define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */ |
236 | |
94 | 237 | #define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */ |
|
95 | #define DRM_INFO(fmt, arg...) dbgprintf("DRM: "fmt , ##arg) |
238 | |
96 | 239 | #define DRM_INFO(fmt, arg...) dbgprintf("DRM: "fmt , ##arg) |
|
97 | #define DRM_ERROR(fmt, arg...) \ |
240 | |
98 | printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __func__ , ##arg) |
241 | #define DRM_ERROR(fmt, arg...) \ |
99 | 242 | printk(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __func__ , ##arg) |
|
100 | #define BUILD_BUG_ON_ZERO(e) (sizeof(char[1 - 2 * !!(e)]) - 1) |
243 | |
101 | 244 | #define BUILD_BUG_ON_ZERO(e) (sizeof(char[1 - 2 * !!(e)]) - 1) |
|
102 | #define __must_be_array(a) \ |
245 | |
103 | BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(typeof(a), typeof(&a[0]))) |
246 | #define __must_be_array(a) \ |
104 | 247 | BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(typeof(a), typeof(&a[0]))) |
|
105 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) |
248 | |
106 | 249 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) |
|
107 | 250 | ||
108 | 251 | ||
109 | 252 | ||
110 | #ifndef HAVE_ARCH_BUG |
253 | |
111 | #define BUG() do { \ |
254 | #ifndef HAVE_ARCH_BUG |
112 | printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \ |
255 | #define BUG() do { \ |
113 | /* panic("BUG!"); */ \ |
256 | printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \ |
114 | } while (0) |
257 | /* panic("BUG!"); */ \ |
115 | #endif |
258 | } while (0) |
116 | 259 | #endif |
|
117 | #ifndef HAVE_ARCH_BUG_ON |
260 | |
118 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0) |
261 | #ifndef HAVE_ARCH_BUG_ON |
119 | #endif |
262 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0) |
120 | 263 | #endif |
|
121 | 264 | ||
122 | 265 | ||
123 | #define MTRR_TYPE_UNCACHABLE 0 |
266 | |
124 | #define MTRR_TYPE_WRCOMB 1 |
267 | #define MTRR_TYPE_UNCACHABLE 0 |
125 | #define MTRR_TYPE_WRTHROUGH 4 |
268 | #define MTRR_TYPE_WRCOMB 1 |
126 | #define MTRR_TYPE_WRPROT 5 |
269 | #define MTRR_TYPE_WRTHROUGH 4 |
127 | #define MTRR_TYPE_WRBACK 6 |
270 | #define MTRR_TYPE_WRPROT 5 |
128 | #define MTRR_NUM_TYPES 7 |
271 | #define MTRR_TYPE_WRBACK 6 |
129 | 272 | #define MTRR_NUM_TYPES 7 |
|
130 | int dbgprintf(const char* format, ...); |
273 | |
131 | 274 | int dbgprintf(const char* format, ...); |
|
132 | #define GFP_KERNEL 0 |
275 | |
133 | 276 | #define GFP_KERNEL 0 |
|
134 | //#include |
277 | |
135 | 278 | //#include |
|
136 | int snprintf(char *str, size_t size, const char *format, ...); |
279 | |
137 | 280 | int snprintf(char *str, size_t size, const char *format, ...); |
|
138 | 281 | ||
139 | //#include |
282 | |
140 | 283 | //#include |
|
141 | void* memcpy(void *s1, const void *s2, size_t n); |
284 | |
142 | void* memset(void *s, int c, size_t n); |
285 | void* memcpy(void *s1, const void *s2, size_t n); |
143 | size_t strlen(const char *s); |
286 | void* memset(void *s, int c, size_t n); |
144 | char *strcpy(char *s1, const char *s2); |
287 | size_t strlen(const char *s); |
145 | char *strncpy (char *dst, const char *src, size_t len); |
288 | char *strcpy(char *s1, const char *s2); |
146 | 289 | char *strncpy (char *dst, const char *src, size_t len); |
|
147 | void *malloc(size_t size); |
290 | |
148 | #define kfree free |
291 | void *malloc(size_t size); |
149 | 292 | #define kfree free |
|
150 | static inline void *kzalloc(size_t size, u32_t flags) |
293 | |
151 | { |
294 | static inline void *kzalloc(size_t size, uint32_t flags) |
152 | void *ret = malloc(size); |
295 | { |
153 | memset(ret, 0, size); |
296 | void *ret = malloc(size); |
154 | return ret; |
297 | memset(ret, 0, size); |
155 | } |
298 | return ret; |
156 | 299 | } |
|
157 | #define kmalloc(s,f) kzalloc((s), (f)) |
300 | |
158 | 301 | #define kmalloc(s,f) kzalloc((s), (f)) |
|
159 | struct drm_file; |
302 | |
160 | 303 | struct drm_file; |
|
161 | #define offsetof(TYPE,MEMBER) __builtin_offsetof(TYPE,MEMBER) |
- | |
162 | - | ||
163 | #define container_of(ptr, type, member) ({ \ |
- | |
164 | const typeof( ((type *)0)->member ) *__mptr = (ptr); \ |
- | |
165 | (type *)( (char *)__mptr - offsetof(type,member) );}) |
- | |
166 | - | ||
167 | - | ||
168 | 304 | ||
169 | #define DRM_MEMORYBARRIER() __asm__ __volatile__("lock; addl $0,0(%esp)") |
305 | |
170 | #define mb() __asm__ __volatile__("lock; addl $0,0(%esp)") |
306 | #define DRM_MEMORYBARRIER() __asm__ __volatile__("lock; addl $0,0(%esp)") |
171 | 307 | #define mb() __asm__ __volatile__("lock; addl $0,0(%esp)") |
|
172 | 308 | ||
173 | #define PAGE_SHIFT 12 |
309 | |
174 | #define PAGE_SIZE (1UL << PAGE_SHIFT) |
310 | #define PAGE_SHIFT 12 |
175 | #define PAGE_MASK (~(PAGE_SIZE-1)) |
311 | #define PAGE_SIZE (1UL << PAGE_SHIFT) |
176 | 312 | #define PAGE_MASK (~(PAGE_SIZE-1)) |
|
177 | #define upper_32_bits(n) ((u32)(((n) >> 16) >> 16)) |
- | |
178 | - | ||
179 | static inline void bitmap_zero(unsigned long *dst, int nbits) |
- | |
180 | { |
- | |
181 | if (nbits <= BITS_PER_LONG) |
- | |
182 | *dst = 0UL; |
- | |
183 | else { |
- | |
184 | int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long); |
- | |
185 | memset(dst, 0, len); |
- | |
186 | } |
- | |
187 | } |
- | |
188 | - | ||
189 | #define EXPORT_SYMBOL(x) |
- | |
190 | - | ||
191 | #define min(x,y) ({ \ |
- | |
192 | typeof(x) _x = (x); \ |
- | |
193 | typeof(y) _y = (y); \ |
- | |
194 | (void) (&_x == &_y); \ |
- | |
195 | _x < _y ? _x : _y; }) |
- | |
196 | - | ||
197 | #define max(x,y) ({ \ |
- | |
198 | typeof(x) _x = (x); \ |
- | |
199 | typeof(y) _y = (y); \ |
- | |
200 | (void) (&_x == &_y); \ |
- | |
201 | _x > _y ? _x : _y; }) |
- | |
202 | 313 | ||
203 | #define do_div(n, base) \ |
314 | |
204 | ({ \ |
315 | #define do_div(n, base) \ |
205 | unsigned long __upper, __low, __high, __mod, __base; \ |
316 | ({ \ |
206 | __base = (base); \ |
317 | unsigned long __upper, __low, __high, __mod, __base; \ |
207 | asm("":"=a" (__low), "=d" (__high) : "A" (n)); \ |
318 | __base = (base); \ |
208 | __upper = __high; \ |
319 | asm("":"=a" (__low), "=d" (__high) : "A" (n)); \ |
209 | if (__high) { \ |
320 | __upper = __high; \ |
210 | __upper = __high % (__base); \ |
321 | if (__high) { \ |
211 | __high = __high / (__base); \ |
322 | __upper = __high % (__base); \ |
212 | } \ |
323 | __high = __high / (__base); \ |
213 | asm("divl %2":"=a" (__low), "=d" (__mod) \ |
324 | } \ |
214 | : "rm" (__base), "0" (__low), "1" (__upper)); \ |
325 | asm("divl %2":"=a" (__low), "=d" (__mod) \ |
215 | asm("":"=A" (n) : "a" (__low), "d" (__high)); \ |
326 | : "rm" (__base), "0" (__low), "1" (__upper)); \ |
216 | __mod; \ |
327 | asm("":"=A" (n) : "a" (__low), "d" (__high)); \ |
217 | }) |
328 | __mod; \ |
218 | 329 | }) |
|
219 | 330 | ||
220 | #define lower_32_bits(n) ((u32)(n)) |
- | |
221 | - | ||
222 | #define INT_MAX ((int)(~0U>>1)) |
- | |
223 | #define INT_MIN (-INT_MAX - 1) |
- | |
224 | #define UINT_MAX (~0U) |
- | |
225 | #define LONG_MAX ((long)(~0UL>>1)) |
- | |
226 | #define LONG_MIN (-LONG_MAX - 1) |
- | |
227 | #define ULONG_MAX (~0UL) |
- | |
228 | #define LLONG_MAX ((long long)(~0ULL>>1)) |
- | |
229 | #define LLONG_MIN (-LLONG_MAX - 1) |
- | |
230 | #define ULLONG_MAX (~0ULL) |
- | |
231 | - | ||
232 | - | ||
233 | static inline void *kcalloc(size_t n, size_t size, u32_t flags) |
- | |
234 | { |
- | |
235 | if (n != 0 && size > ULONG_MAX / n) |
- | |
236 | return NULL; |
- | |
237 | return kzalloc(n * size, 0); |
- | |
238 | } |
- | |
239 | 331 | ||
240 | #define ENTER() dbgprintf("enter %s\n",__FUNCTION__) |
332 | |
241 | #define LEAVE() dbgprintf("leave %s\n",__FUNCTION__) |
333 | #define ENTER() dbgprintf("enter %s\n",__FUNCTION__) |
242 | 334 | #define LEAVE() dbgprintf("leave %s\n",__FUNCTION__) |
|
243 | #define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) |
- | |
244 | #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask)) |
- | |
- | 335 | ||
245 | 336 | ||
246 | #define PCI_DEVICE_ID_ATI_RADEON_QY 0x5159 |
337 | |
247 | 338 | #define PCI_DEVICE_ID_ATI_RADEON_QY 0x5159 |
|
- | 339 | ||
- | 340 | #endif /* _LINUX_TYPES_H */><>> |
|
- | 341 | ||
- | 342 | ||
- | 343 | ||
248 | - | ||
249 | #endif //__TYPES_H__>=>><>>7>6>5>4>3>2>1>0> |
- |