1*38517a78SLukasz Majewski /* 2*38517a78SLukasz Majewski * Copyright (c) 2011 Samsung Electronics 3*38517a78SLukasz Majewski * Lukasz Majewski <l.majewski@samsung.com> 4*38517a78SLukasz Majewski * 5*38517a78SLukasz Majewski * This is a Linux kernel compatibility layer for USB Gadget 6*38517a78SLukasz Majewski * 7*38517a78SLukasz Majewski * This program is free software; you can redistribute it and/or 8*38517a78SLukasz Majewski * modify it under the terms of the GNU General Public License as 9*38517a78SLukasz Majewski * published by the Free Software Foundation; either version 2 of 10*38517a78SLukasz Majewski * the License, or (at your option) any later version. 11*38517a78SLukasz Majewski * 12*38517a78SLukasz Majewski * This program is distributed in the hope that it will be useful, 13*38517a78SLukasz Majewski * but WITHOUT ANY WARRANTY; without even the implied warranty of 14*38517a78SLukasz Majewski * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*38517a78SLukasz Majewski * GNU General Public License for more details. 16*38517a78SLukasz Majewski * 17*38517a78SLukasz Majewski * You should have received a copy of the GNU General Public License 18*38517a78SLukasz Majewski * along with this program; if not, write to the Free Software 19*38517a78SLukasz Majewski * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20*38517a78SLukasz Majewski * MA 02111-1307 USA 21*38517a78SLukasz Majewski */ 22*38517a78SLukasz Majewski 23*38517a78SLukasz Majewski #ifndef __LIN_COMPAT_H__ 24*38517a78SLukasz Majewski #define __LIN_COMPAT_H__ 25*38517a78SLukasz Majewski 26*38517a78SLukasz Majewski /* common */ 27*38517a78SLukasz Majewski #define spin_lock_init(...) 28*38517a78SLukasz Majewski #define spin_lock(...) 29*38517a78SLukasz Majewski #define spin_lock_irqsave(lock, flags) do {flags = 1; } while (0) 30*38517a78SLukasz Majewski #define spin_unlock(...) 31*38517a78SLukasz Majewski #define spin_unlock_irqrestore(lock, flags) do {flags = 0; } while (0) 32*38517a78SLukasz Majewski #define disable_irq(...) 33*38517a78SLukasz Majewski #define enable_irq(...) 34*38517a78SLukasz Majewski 35*38517a78SLukasz Majewski #define mutex_init(...) 36*38517a78SLukasz Majewski #define mutex_lock(...) 37*38517a78SLukasz Majewski #define mutex_unlock(...) 38*38517a78SLukasz Majewski 39*38517a78SLukasz Majewski #define WARN_ON(x) if (x) {printf("WARNING in %s line %d\n" \ 40*38517a78SLukasz Majewski , __FILE__, __LINE__); } 41*38517a78SLukasz Majewski 42*38517a78SLukasz Majewski #define KERN_WARNING 43*38517a78SLukasz Majewski #define KERN_ERR 44*38517a78SLukasz Majewski #define KERN_NOTICE 45*38517a78SLukasz Majewski #define KERN_DEBUG 46*38517a78SLukasz Majewski 47*38517a78SLukasz Majewski #define GFP_KERNEL 0 48*38517a78SLukasz Majewski 49*38517a78SLukasz Majewski #define IRQ_HANDLED 1 50*38517a78SLukasz Majewski 51*38517a78SLukasz Majewski #define ENOTSUPP 524 /* Operation is not supported */ 52*38517a78SLukasz Majewski 53*38517a78SLukasz Majewski #define kmalloc(size, type) memalign(CONFIG_SYS_CACHELINE_SIZE, size) 54*38517a78SLukasz Majewski #define kfree(addr) free(addr) 55*38517a78SLukasz Majewski #define mdelay(n) ({unsigned long msec = (n); while (msec--) udelay(1000); }) 56*38517a78SLukasz Majewski 57*38517a78SLukasz Majewski #define __iomem 58*38517a78SLukasz Majewski #define min_t min 59*38517a78SLukasz Majewski #define dma_cache_maint(addr, size, mode) cache_flush() 60*38517a78SLukasz Majewski void cache_flush(void); 61*38517a78SLukasz Majewski 62*38517a78SLukasz Majewski #endif /* __LIN_COMPAT_H__ */ 63