1*eb81955bSIlya Yanok #ifndef __LINUX_COMPAT_H__ 2*eb81955bSIlya Yanok #define __LINUX_COMPAT_H__ 3*eb81955bSIlya Yanok 4*eb81955bSIlya Yanok #include <malloc.h> 5*eb81955bSIlya Yanok #include <linux/list.h> 6*eb81955bSIlya Yanok #include <linux/compat.h> 7*eb81955bSIlya Yanok 8*eb81955bSIlya Yanok #define __init 9*eb81955bSIlya Yanok #define __devinit 10*eb81955bSIlya Yanok #define __devinitdata 11*eb81955bSIlya Yanok #define __devinitconst 12*eb81955bSIlya Yanok #define __iomem 13*eb81955bSIlya Yanok #define __deprecated 14*eb81955bSIlya Yanok 15*eb81955bSIlya Yanok typedef enum { false = 0, true = 1 } bool; 16*eb81955bSIlya Yanok 17*eb81955bSIlya Yanok struct unused {}; 18*eb81955bSIlya Yanok typedef struct unused unused_t; 19*eb81955bSIlya Yanok 20*eb81955bSIlya Yanok typedef int irqreturn_t; 21*eb81955bSIlya Yanok typedef unused_t spinlock_t; 22*eb81955bSIlya Yanok 23*eb81955bSIlya Yanok struct work_struct {}; 24*eb81955bSIlya Yanok 25*eb81955bSIlya Yanok struct timer_list {}; 26*eb81955bSIlya Yanok struct notifier_block {}; 27*eb81955bSIlya Yanok 28*eb81955bSIlya Yanok typedef unsigned long dmaaddr_t; 29*eb81955bSIlya Yanok 30*eb81955bSIlya Yanok #define spin_lock_init(lock) do {} while (0) 31*eb81955bSIlya Yanok #define spin_lock(lock) do {} while (0) 32*eb81955bSIlya Yanok #define spin_unlock(lock) do {} while (0) 33*eb81955bSIlya Yanok #define spin_lock_irqsave(lock, flags) do {} while (0) 34*eb81955bSIlya Yanok #define spin_unlock_irqrestore(lock, flags) do {} while (0) 35*eb81955bSIlya Yanok 36*eb81955bSIlya Yanok #define setup_timer(timer, func, data) do {} while (0) 37*eb81955bSIlya Yanok #define schedule_work(work) do {} while (0) 38*eb81955bSIlya Yanok #define INIT_WORK(work, fun) do {} while (0) 39*eb81955bSIlya Yanok 40*eb81955bSIlya Yanok #define cpu_relax() do {} while (0) 41*eb81955bSIlya Yanok 42*eb81955bSIlya Yanok #define pr_debug(fmt, args...) debug(fmt, ##args) 43*eb81955bSIlya Yanok #define dev_dbg(dev, fmt, args...) \ 44*eb81955bSIlya Yanok debug(fmt, ##args) 45*eb81955bSIlya Yanok #define dev_vdbg(dev, fmt, args...) \ 46*eb81955bSIlya Yanok debug(fmt, ##args) 47*eb81955bSIlya Yanok #define dev_info(dev, fmt, args...) \ 48*eb81955bSIlya Yanok printf(fmt, ##args) 49*eb81955bSIlya Yanok #define dev_err(dev, fmt, args...) \ 50*eb81955bSIlya Yanok printf(fmt, ##args) 51*eb81955bSIlya Yanok #define printk printf 52*eb81955bSIlya Yanok 53*eb81955bSIlya Yanok #define WARN(condition, fmt, args...) ({ \ 54*eb81955bSIlya Yanok int ret_warn = !!condition; \ 55*eb81955bSIlya Yanok if (ret_warn) \ 56*eb81955bSIlya Yanok printf(fmt, ##args); \ 57*eb81955bSIlya Yanok ret_warn; }) 58*eb81955bSIlya Yanok 59*eb81955bSIlya Yanok #define KERN_DEBUG 60*eb81955bSIlya Yanok #define KERN_NOTICE 61*eb81955bSIlya Yanok #define KERN_WARNING 62*eb81955bSIlya Yanok #define KERN_ERR 63*eb81955bSIlya Yanok 64*eb81955bSIlya Yanok #define kfree(ptr) free(ptr) 65*eb81955bSIlya Yanok 66*eb81955bSIlya Yanok #define pm_runtime_get_sync(dev) do {} while (0) 67*eb81955bSIlya Yanok #define pm_runtime_put(dev) do {} while (0) 68*eb81955bSIlya Yanok #define pm_runtime_put_sync(dev) do {} while (0) 69*eb81955bSIlya Yanok #define pm_runtime_use_autosuspend(dev) do {} while (0) 70*eb81955bSIlya Yanok #define pm_runtime_set_autosuspend_delay(dev, delay) do {} while (0) 71*eb81955bSIlya Yanok #define pm_runtime_enable(dev) do {} while (0) 72*eb81955bSIlya Yanok 73*eb81955bSIlya Yanok #define MODULE_DESCRIPTION(desc) 74*eb81955bSIlya Yanok #define MODULE_AUTHOR(author) 75*eb81955bSIlya Yanok #define MODULE_LICENSE(license) 76*eb81955bSIlya Yanok #define MODULE_ALIAS(alias) 77*eb81955bSIlya Yanok #define module_param(name, type, perm) 78*eb81955bSIlya Yanok #define MODULE_PARM_DESC(name, desc) 79*eb81955bSIlya Yanok #define EXPORT_SYMBOL_GPL(name) 80*eb81955bSIlya Yanok 81*eb81955bSIlya Yanok #define writesl(a, d, s) __raw_writesl((unsigned long)a, d, s) 82*eb81955bSIlya Yanok #define readsl(a, d, s) __raw_readsl((unsigned long)a, d, s) 83*eb81955bSIlya Yanok #define writesw(a, d, s) __raw_writesw((unsigned long)a, d, s) 84*eb81955bSIlya Yanok #define readsw(a, d, s) __raw_readsw((unsigned long)a, d, s) 85*eb81955bSIlya Yanok #define writesb(a, d, s) __raw_writesb((unsigned long)a, d, s) 86*eb81955bSIlya Yanok #define readsb(a, d, s) __raw_readsb((unsigned long)a, d, s) 87*eb81955bSIlya Yanok 88*eb81955bSIlya Yanok #define IRQ_NONE 0 89*eb81955bSIlya Yanok #define IRQ_HANDLED 0 90*eb81955bSIlya Yanok 91*eb81955bSIlya Yanok #define dev_set_drvdata(dev, data) do {} while (0) 92*eb81955bSIlya Yanok 93*eb81955bSIlya Yanok #define disable_irq_wake(irq) do {} while (0) 94*eb81955bSIlya Yanok #define enable_irq_wake(irq) -EINVAL 95*eb81955bSIlya Yanok #define free_irq(irq, data) do {} while (0) 96*eb81955bSIlya Yanok #define request_irq(nr, f, flags, nm, data) 0 97*eb81955bSIlya Yanok 98*eb81955bSIlya Yanok #define device_init_wakeup(dev, a) do {} while (0) 99*eb81955bSIlya Yanok 100*eb81955bSIlya Yanok #define platform_data device_data 101*eb81955bSIlya Yanok 102*eb81955bSIlya Yanok #ifndef wmb 103*eb81955bSIlya Yanok #define wmb() asm volatile ("" : : : "memory") 104*eb81955bSIlya Yanok #endif 105*eb81955bSIlya Yanok 106*eb81955bSIlya Yanok #endif /* __LINUX_COMPAT_H__ */ 107