From 7b15e2bb9b1026925f0f98243cd6cf80bd3fb47d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 9 Apr 2012 13:39:55 +0000 Subject: linux/compat.h: rename from linux/mtd/compat.h This lets us use it in more places than just mtd code. Signed-off-by: Mike Frysinger --- include/linux/compat.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 include/linux/compat.h (limited to 'include/linux/compat.h') diff --git a/include/linux/compat.h b/include/linux/compat.h new file mode 100644 index 000000000..39c693f7a --- /dev/null +++ b/include/linux/compat.h @@ -0,0 +1,52 @@ +#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 DECLARE_WAITQUEUE(...) do { } while (0) +#define add_wait_queue(...) do { } while (0) +#define remove_wait_queue(...) do { } while (0) + +#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 PAGE_SIZE 4096 +#endif -- cgit v1.2.3-70-g09d2 From 6777a3cf73f621892afe938983918d2aea7730b5 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 26 Apr 2012 02:34:44 +0000 Subject: lin_gadget: use common linux/compat.h Merge our duplicate definitions with the common header. Also fix drivers/usb/gadget/s3c_udc_otg_xfer_dma.c to use min() instead of min_t() since we remove the latter from compat.h. Additionally use memalign() directly as the lin_gadget specific kmalloc() macro is removed from lin_gadget_compat.h by this patch. Signed-off-by: Mike Frysinger Signed-off-by: Anatolij Gustschin Cc: Lukasz Majewski --- drivers/usb/gadget/s3c_udc_otg.c | 5 +++-- drivers/usb/gadget/s3c_udc_otg_xfer_dma.c | 2 +- include/linux/compat.h | 3 +++ include/usb/lin_gadget_compat.h | 15 ++------------- 4 files changed, 9 insertions(+), 16 deletions(-) (limited to 'include/linux/compat.h') diff --git a/drivers/usb/gadget/s3c_udc_otg.c b/drivers/usb/gadget/s3c_udc_otg.c index 1050a98b6..9d11aea8e 100644 --- a/drivers/usb/gadget/s3c_udc_otg.c +++ b/drivers/usb/gadget/s3c_udc_otg.c @@ -671,7 +671,7 @@ static struct usb_request *s3c_alloc_request(struct usb_ep *ep, debug("%s: %s %p\n", __func__, ep->name, ep); - req = kmalloc(sizeof *req, gfp_flags); + req = memalign(CONFIG_SYS_CACHELINE_SIZE, sizeof(*req)); if (!req) return 0; @@ -865,7 +865,8 @@ int s3c_udc_probe(struct s3c_plat_otg_data *pdata) the_controller = dev; for (i = 0; i < S3C_MAX_ENDPOINTS+1; i++) { - dev->dma_buf[i] = kmalloc(DMA_BUFFER_SIZE, GFP_KERNEL); + dev->dma_buf[i] = memalign(CONFIG_SYS_CACHELINE_SIZE, + DMA_BUFFER_SIZE); dev->dma_addr[i] = (dma_addr_t) dev->dma_buf[i]; invalidate_dcache_range((unsigned long) dev->dma_buf[i], (unsigned long) (dev->dma_buf[i] diff --git a/drivers/usb/gadget/s3c_udc_otg_xfer_dma.c b/drivers/usb/gadget/s3c_udc_otg_xfer_dma.c index afd4931fa..56e6e53de 100644 --- a/drivers/usb/gadget/s3c_udc_otg_xfer_dma.c +++ b/drivers/usb/gadget/s3c_udc_otg_xfer_dma.c @@ -168,7 +168,7 @@ int setdma_tx(struct s3c_ep *ep, struct s3c_request *req) length = req->req.length - req->req.actual; if (ep_num == EP0_CON) - length = min_t(length, (u32)ep_maxpacket(ep)); + length = min(length, (u32)ep_maxpacket(ep)); ep->len = length; ep->dma_buf = buf; diff --git a/include/linux/compat.h b/include/linux/compat.h index 39c693f7a..593b07f4b 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -48,5 +48,8 @@ #define BUG_ON(condition) do { if (condition) BUG(); } while(0) #endif /* BUG */ +#define WARN_ON(x) if (x) {printf("WARNING in %s line %d\n" \ + , __FILE__, __LINE__); } + #define PAGE_SIZE 4096 #endif diff --git a/include/usb/lin_gadget_compat.h b/include/usb/lin_gadget_compat.h index 1b937e43a..8287b9de9 100644 --- a/include/usb/lin_gadget_compat.h +++ b/include/usb/lin_gadget_compat.h @@ -23,6 +23,8 @@ #ifndef __LIN_COMPAT_H__ #define __LIN_COMPAT_H__ +#include + /* common */ #define spin_lock_init(...) #define spin_lock(...) @@ -36,25 +38,12 @@ #define mutex_lock(...) #define mutex_unlock(...) -#define WARN_ON(x) if (x) {printf("WARNING in %s line %d\n" \ - , __FILE__, __LINE__); } - -#define KERN_WARNING -#define KERN_ERR -#define KERN_NOTICE -#define KERN_DEBUG - #define GFP_KERNEL 0 #define IRQ_HANDLED 1 #define ENOTSUPP 524 /* Operation is not supported */ -#define kmalloc(size, type) memalign(CONFIG_SYS_CACHELINE_SIZE, size) -#define kfree(addr) free(addr) - -#define __iomem -#define min_t min #define dma_cache_maint(addr, size, mode) cache_flush() void cache_flush(void); -- cgit v1.2.3-70-g09d2