| #ifndef _LINUX_COMPAT_H_ | |
| #define _LINUX_COMPAT_H_ | |
| #define __user | |
| #define __iomem | |
| #define ndelay(x) udelay(1) | |
| #define printk printf | |
| #define KERN_EMERG | |
| #define KERN_ALERT | |
| #define KERN_CRIT | |
| #define KERN_ERR | |
| #define KERN_WARNING | |
| #define KERN_NOTICE | |
| #define KERN_INFO | |
| #define KERN_DEBUG | |
| #define kmalloc(size, flags) malloc(size) | |
| #define kzalloc(size, flags) calloc(size, 1) | |
| #define vmalloc(size) malloc(size) | |
| #define kfree(ptr) free(ptr) | |
| #define vfree(ptr) free(ptr) | |
| #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) | |
| /* | |
| * ..and if you can't take the strict | |
| * types, you can specify one yourself. | |
| * | |
| * Or not use min/max at all, of course. | |
| */ | |
| #define min_t(type,x,y) \ | |
| ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; }) | |
| #define max_t(type,x,y) \ | |
| ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; }) | |
| #ifndef BUG | |
| #define BUG() do { \ | |
| printf("U-Boot BUG at %s:%d!\n", __FILE__, __LINE__); \ | |
| } while (0) | |
| #define BUG_ON(condition) do { if (condition) BUG(); } while(0) | |
| #endif /* BUG */ | |
| #define likely(x) __builtin_expect(!!(x), 1) | |
| #define unlikely(x) __builtin_expect(!!(x), 0) | |
| #define PAGE_SIZE 4096 | |
| #endif |