]> git.ipfire.org Git - people/ms/u-boot.git/blob - include/linux/compat.h
linux/compat.h: port lower_32_bits and upper_32_bits from Linux
[people/ms/u-boot.git] / include / linux / compat.h
1 #ifndef _LINUX_COMPAT_H_
2 #define _LINUX_COMPAT_H_
3
4 #define ndelay(x) udelay(1)
5
6 #define dev_dbg(dev, fmt, args...) \
7 debug(fmt, ##args)
8 #define dev_vdbg(dev, fmt, args...) \
9 debug(fmt, ##args)
10 #define dev_info(dev, fmt, args...) \
11 printf(fmt, ##args)
12 #define dev_err(dev, fmt, args...) \
13 printf(fmt, ##args)
14 #define printk printf
15
16 #define KERN_EMERG
17 #define KERN_ALERT
18 #define KERN_CRIT
19 #define KERN_ERR
20 #define KERN_WARNING
21 #define KERN_NOTICE
22 #define KERN_INFO
23 #define KERN_DEBUG
24
25 #define kmalloc(size, flags) malloc(size)
26 #define kzalloc(size, flags) calloc(size, 1)
27 #define vmalloc(size) malloc(size)
28 #define kfree(ptr) free(ptr)
29 #define vfree(ptr) free(ptr)
30
31 #define DECLARE_WAITQUEUE(...) do { } while (0)
32 #define add_wait_queue(...) do { } while (0)
33 #define remove_wait_queue(...) do { } while (0)
34
35 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
36
37 /*
38 * ..and if you can't take the strict
39 * types, you can specify one yourself.
40 *
41 * Or not use min/max at all, of course.
42 */
43 #define min_t(type,x,y) \
44 ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; })
45 #define max_t(type,x,y) \
46 ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; })
47
48 #ifndef BUG
49 #define BUG() do { \
50 printf("U-Boot BUG at %s:%d!\n", __FILE__, __LINE__); \
51 } while (0)
52
53 #define BUG_ON(condition) do { if (condition) BUG(); } while(0)
54 #endif /* BUG */
55
56 #define WARN_ON(x) if (x) {printf("WARNING in %s line %d\n" \
57 , __FILE__, __LINE__); }
58
59 #define PAGE_SIZE 4096
60
61 /**
62 * upper_32_bits - return MSB bits 32-63 of a number if little endian, or
63 * return MSB bits 0-31 of a number if big endian.
64 * @n: the number we're accessing
65 *
66 * A basic shift-right of a 64- or 32-bit quantity. Use this to suppress
67 * the "right shift count >= width of type" warning when that quantity is
68 * 32-bits.
69 */
70 #define upper_32_bits(n) ((u32)(((n) >> 16) >> 16))
71
72 /**
73 * lower_32_bits - return LSB bits 0-31 of a number if little endian, or
74 * return LSB bits 32-63 of a number if big endian.
75 * @n: the number we're accessing
76 */
77 #define lower_32_bits(n) ((u32)(n))
78
79 #endif