17b15e2bbSMike Frysinger #ifndef _LINUX_COMPAT_H_ 27b15e2bbSMike Frysinger #define _LINUX_COMPAT_H_ 37b15e2bbSMike Frysinger 47b15e2bbSMike Frysinger #define ndelay(x) udelay(1) 57b15e2bbSMike Frysinger 62f96b06bSWu, Josh #define dev_dbg(dev, fmt, args...) \ 72f96b06bSWu, Josh debug(fmt, ##args) 82f96b06bSWu, Josh #define dev_vdbg(dev, fmt, args...) \ 92f96b06bSWu, Josh debug(fmt, ##args) 102f96b06bSWu, Josh #define dev_info(dev, fmt, args...) \ 112f96b06bSWu, Josh printf(fmt, ##args) 122f96b06bSWu, Josh #define dev_err(dev, fmt, args...) \ 132f96b06bSWu, Josh printf(fmt, ##args) 147b15e2bbSMike Frysinger #define printk printf 157b15e2bbSMike Frysinger 167b15e2bbSMike Frysinger #define KERN_EMERG 177b15e2bbSMike Frysinger #define KERN_ALERT 187b15e2bbSMike Frysinger #define KERN_CRIT 197b15e2bbSMike Frysinger #define KERN_ERR 207b15e2bbSMike Frysinger #define KERN_WARNING 217b15e2bbSMike Frysinger #define KERN_NOTICE 227b15e2bbSMike Frysinger #define KERN_INFO 237b15e2bbSMike Frysinger #define KERN_DEBUG 247b15e2bbSMike Frysinger 257b15e2bbSMike Frysinger #define kmalloc(size, flags) malloc(size) 267b15e2bbSMike Frysinger #define kzalloc(size, flags) calloc(size, 1) 277b15e2bbSMike Frysinger #define vmalloc(size) malloc(size) 287b15e2bbSMike Frysinger #define kfree(ptr) free(ptr) 297b15e2bbSMike Frysinger #define vfree(ptr) free(ptr) 307b15e2bbSMike Frysinger 317b15e2bbSMike Frysinger #define DECLARE_WAITQUEUE(...) do { } while (0) 327b15e2bbSMike Frysinger #define add_wait_queue(...) do { } while (0) 337b15e2bbSMike Frysinger #define remove_wait_queue(...) do { } while (0) 347b15e2bbSMike Frysinger 357b15e2bbSMike Frysinger #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) 367b15e2bbSMike Frysinger 377b15e2bbSMike Frysinger /* 387b15e2bbSMike Frysinger * ..and if you can't take the strict 397b15e2bbSMike Frysinger * types, you can specify one yourself. 407b15e2bbSMike Frysinger * 417b15e2bbSMike Frysinger * Or not use min/max at all, of course. 427b15e2bbSMike Frysinger */ 437b15e2bbSMike Frysinger #define min_t(type,x,y) \ 447b15e2bbSMike Frysinger ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; }) 457b15e2bbSMike Frysinger #define max_t(type,x,y) \ 467b15e2bbSMike Frysinger ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; }) 477b15e2bbSMike Frysinger 487b15e2bbSMike Frysinger #ifndef BUG 497b15e2bbSMike Frysinger #define BUG() do { \ 507b15e2bbSMike Frysinger printf("U-Boot BUG at %s:%d!\n", __FILE__, __LINE__); \ 517b15e2bbSMike Frysinger } while (0) 527b15e2bbSMike Frysinger 537b15e2bbSMike Frysinger #define BUG_ON(condition) do { if (condition) BUG(); } while(0) 547b15e2bbSMike Frysinger #endif /* BUG */ 557b15e2bbSMike Frysinger 566777a3cfSMike Frysinger #define WARN_ON(x) if (x) {printf("WARNING in %s line %d\n" \ 576777a3cfSMike Frysinger , __FILE__, __LINE__); } 586777a3cfSMike Frysinger 597b15e2bbSMike Frysinger #define PAGE_SIZE 4096 60*8f2df5d3SLijun Pan 61*8f2df5d3SLijun Pan /** 62*8f2df5d3SLijun Pan * upper_32_bits - return MSB bits 32-63 of a number if little endian, or 63*8f2df5d3SLijun Pan * return MSB bits 0-31 of a number if big endian. 64*8f2df5d3SLijun Pan * @n: the number we're accessing 65*8f2df5d3SLijun Pan * 66*8f2df5d3SLijun Pan * A basic shift-right of a 64- or 32-bit quantity. Use this to suppress 67*8f2df5d3SLijun Pan * the "right shift count >= width of type" warning when that quantity is 68*8f2df5d3SLijun Pan * 32-bits. 69*8f2df5d3SLijun Pan */ 70*8f2df5d3SLijun Pan #define upper_32_bits(n) ((u32)(((n) >> 16) >> 16)) 71*8f2df5d3SLijun Pan 72*8f2df5d3SLijun Pan /** 73*8f2df5d3SLijun Pan * lower_32_bits - return LSB bits 0-31 of a number if little endian, or 74*8f2df5d3SLijun Pan * return LSB bits 32-63 of a number if big endian. 75*8f2df5d3SLijun Pan * @n: the number we're accessing 76*8f2df5d3SLijun Pan */ 77*8f2df5d3SLijun Pan #define lower_32_bits(n) ((u32)(n)) 78*8f2df5d3SLijun Pan 797b15e2bbSMike Frysinger #endif 80