+ Marek and a bump On 06/13/2013 02:07 PM, Dan Murphy wrote: > Move the linux and usb compat files to the > include/linux/usb directory in order for the files to be > reused. > > Added GPLv2 license to the linux and usb compat as well. > > Signed-off-by: Dan Murphy <dmur...@ti.com> > --- > v2 - Fix checkpatch issues only for newly introduced code - > http://patchwork.ozlabs.org/patch/251127/ > > drivers/usb/musb-new/linux-compat.h | 114 -------------------------- > drivers/usb/musb-new/musb_core.c | 4 +- > drivers/usb/musb-new/musb_dsps.c | 2 +- > drivers/usb/musb-new/musb_gadget.c | 2 +- > drivers/usb/musb-new/musb_gadget_ep0.c | 2 +- > drivers/usb/musb-new/musb_host.c | 4 +- > drivers/usb/musb-new/musb_host.h | 2 +- > drivers/usb/musb-new/musb_uboot.c | 4 +- > drivers/usb/musb-new/usb-compat.h | 88 -------------------- > include/linux/usb/linux-compat.h | 136 > ++++++++++++++++++++++++++++++++ > include/linux/usb/usb-compat.h | 110 ++++++++++++++++++++++++++ > 11 files changed, 256 insertions(+), 212 deletions(-) > delete mode 100644 drivers/usb/musb-new/linux-compat.h > delete mode 100644 drivers/usb/musb-new/usb-compat.h > create mode 100644 include/linux/usb/linux-compat.h > create mode 100644 include/linux/usb/usb-compat.h > > diff --git a/drivers/usb/musb-new/linux-compat.h > b/drivers/usb/musb-new/linux-compat.h > deleted file mode 100644 > index 72c8c2b..0000000 > --- a/drivers/usb/musb-new/linux-compat.h > +++ /dev/null > @@ -1,114 +0,0 @@ > -#ifndef __LINUX_COMPAT_H__ > -#define __LINUX_COMPAT_H__ > - > -#include <malloc.h> > -#include <linux/list.h> > -#include <linux/compat.h> > - > -#define __init > -#define __devinit > -#define __devinitdata > -#define __devinitconst > -#define __iomem > -#define __deprecated > - > -struct unused {}; > -typedef struct unused unused_t; > - > -typedef int irqreturn_t; > -typedef unused_t spinlock_t; > - > -struct work_struct {}; > - > -struct timer_list {}; > -struct notifier_block {}; > - > -typedef unsigned long dmaaddr_t; > - > -#define spin_lock_init(lock) do {} while (0) > -#define spin_lock(lock) do {} while (0) > -#define spin_unlock(lock) do {} while (0) > -#define spin_lock_irqsave(lock, flags) do {} while (0) > -#define spin_unlock_irqrestore(lock, flags) do {} while (0) > - > -#define setup_timer(timer, func, data) do {} while (0) > -#define del_timer_sync(timer) do {} while (0) > -#define schedule_work(work) do {} while (0) > -#define INIT_WORK(work, fun) do {} while (0) > - > -#define cpu_relax() do {} while (0) > - > -#define pr_debug(fmt, args...) debug(fmt, ##args) > -#define dev_dbg(dev, fmt, args...) \ > - debug(fmt, ##args) > -#define dev_vdbg(dev, fmt, args...) \ > - debug(fmt, ##args) > -#define dev_info(dev, fmt, args...) \ > - printf(fmt, ##args) > -#define dev_err(dev, fmt, args...) \ > - printf(fmt, ##args) > -#define printk printf > - > -#define WARN(condition, fmt, args...) ({ \ > - int ret_warn = !!condition; \ > - if (ret_warn) \ > - printf(fmt, ##args); \ > - ret_warn; }) > - > -#define KERN_DEBUG > -#define KERN_NOTICE > -#define KERN_WARNING > -#define KERN_ERR > - > -#define kfree(ptr) free(ptr) > - > -#define pm_runtime_get_sync(dev) do {} while (0) > -#define pm_runtime_put(dev) do {} while (0) > -#define pm_runtime_put_sync(dev) do {} while (0) > -#define pm_runtime_use_autosuspend(dev) do {} while (0) > -#define pm_runtime_set_autosuspend_delay(dev, delay) do {} while (0) > -#define pm_runtime_enable(dev) do {} while (0) > - > -#define MODULE_DESCRIPTION(desc) > -#define MODULE_AUTHOR(author) > -#define MODULE_LICENSE(license) > -#define MODULE_ALIAS(alias) > -#define module_param(name, type, perm) > -#define MODULE_PARM_DESC(name, desc) > -#define EXPORT_SYMBOL_GPL(name) > - > -#define writesl(a, d, s) __raw_writesl((unsigned long)a, d, s) > -#define readsl(a, d, s) __raw_readsl((unsigned long)a, d, s) > -#define writesw(a, d, s) __raw_writesw((unsigned long)a, d, s) > -#define readsw(a, d, s) __raw_readsw((unsigned long)a, d, s) > -#define writesb(a, d, s) __raw_writesb((unsigned long)a, d, s) > -#define readsb(a, d, s) __raw_readsb((unsigned long)a, d, s) > - > -#define IRQ_NONE 0 > -#define IRQ_HANDLED 0 > - > -#define dev_set_drvdata(dev, data) do {} while (0) > - > -#define disable_irq_wake(irq) do {} while (0) > -#define enable_irq_wake(irq) -EINVAL > -#define free_irq(irq, data) do {} while (0) > -#define request_irq(nr, f, flags, nm, data) 0 > - > -#define device_init_wakeup(dev, a) do {} while (0) > - > -#define platform_data device_data > - > -#ifndef wmb > -#define wmb() asm volatile ("" : : : "memory") > -#endif > - > -#define msleep(a) udelay(a * 1000) > - > -/* > - * Map U-Boot config options to Linux ones > - */ > -#ifdef CONFIG_OMAP34XX > -#define CONFIG_SOC_OMAP3430 > -#endif > - > -#endif /* __LINUX_COMPAT_H__ */ > diff --git a/drivers/usb/musb-new/musb_core.c > b/drivers/usb/musb-new/musb_core.c > index da93571..2cb3181 100644 > --- a/drivers/usb/musb-new/musb_core.c > +++ b/drivers/usb/musb-new/musb_core.c > @@ -109,8 +109,8 @@ > #include <linux/usb/gadget.h> > #include <linux/usb/musb.h> > #include <asm/io.h> > -#include "linux-compat.h" > -#include "usb-compat.h" > +#include <linux/usb/linux-compat.h> > +#include <linux/usb/usb-compat.h> > #endif > > #include "musb_core.h" > diff --git a/drivers/usb/musb-new/musb_dsps.c > b/drivers/usb/musb-new/musb_dsps.c > index 9a03917..aa5f8aa 100644 > --- a/drivers/usb/musb-new/musb_dsps.c > +++ b/drivers/usb/musb-new/musb_dsps.c > @@ -47,7 +47,7 @@ > #else > #include <common.h> > #include <asm/omap_musb.h> > -#include "linux-compat.h" > +#include <linux/usb/linux-compat.h> > #endif > > #include "musb_core.h" > diff --git a/drivers/usb/musb-new/musb_gadget.c > b/drivers/usb/musb-new/musb_gadget.c > index d2cb91a..0186b57 100644 > --- a/drivers/usb/musb-new/musb_gadget.c > +++ b/drivers/usb/musb-new/musb_gadget.c > @@ -47,7 +47,7 @@ > #else > #include <common.h> > #include <linux/usb/ch9.h> > -#include "linux-compat.h" > +#include <linux/usb/linux-compat.h> > #endif > > #include "musb_core.h" > diff --git a/drivers/usb/musb-new/musb_gadget_ep0.c > b/drivers/usb/musb-new/musb_gadget_ep0.c > index 6599d38..bbc67b0 100644 > --- a/drivers/usb/musb-new/musb_gadget_ep0.c > +++ b/drivers/usb/musb-new/musb_gadget_ep0.c > @@ -43,7 +43,7 @@ > #include <linux/interrupt.h> > #else > #include <common.h> > -#include "linux-compat.h" > +#include <linux/usb/linux-compat.h> > #endif > > #include "musb_core.h" > diff --git a/drivers/usb/musb-new/musb_host.c > b/drivers/usb/musb-new/musb_host.c > index 9a2cf59..7bc19bf 100644 > --- a/drivers/usb/musb-new/musb_host.c > +++ b/drivers/usb/musb-new/musb_host.c > @@ -47,8 +47,8 @@ > #else > #include <common.h> > #include <usb.h> > -#include "linux-compat.h" > -#include "usb-compat.h" > +#include <linux/usb/linux-compat.h> > +#include <linux/usb/usb-compat.h> > #endif > > #include "musb_core.h" > diff --git a/drivers/usb/musb-new/musb_host.h > b/drivers/usb/musb-new/musb_host.h > index ebebe0c..1be9206 100644 > --- a/drivers/usb/musb-new/musb_host.h > +++ b/drivers/usb/musb-new/musb_host.h > @@ -35,7 +35,7 @@ > #ifndef _MUSB_HOST_H > #define _MUSB_HOST_H > #ifdef __UBOOT__ > -#include "usb-compat.h" > +#include <linux/usb/usb-compat.h> > #endif > > static inline struct usb_hcd *musb_to_hcd(struct musb *musb) > diff --git a/drivers/usb/musb-new/musb_uboot.c > b/drivers/usb/musb-new/musb_uboot.c > index 15d2ec0..bebf4c6 100644 > --- a/drivers/usb/musb-new/musb_uboot.c > +++ b/drivers/usb/musb-new/musb_uboot.c > @@ -5,8 +5,8 @@ > > #define __UBOOT__ > #include <usb.h> > -#include "linux-compat.h" > -#include "usb-compat.h" > +#include <linux/usb/linux-compat.h> > +#include <linux/usb/usb-compat.h> > #include "musb_core.h" > #include "musb_host.h" > #include "musb_gadget.h" > diff --git a/drivers/usb/musb-new/usb-compat.h > b/drivers/usb/musb-new/usb-compat.h > deleted file mode 100644 > index 27f656f..0000000 > --- a/drivers/usb/musb-new/usb-compat.h > +++ /dev/null > @@ -1,88 +0,0 @@ > -#ifndef __USB_COMPAT_H__ > -#define __USB_COMPAT_H__ > - > -#include "usb.h" > - > -struct usb_hcd { > - void *hcd_priv; > -}; > - > -struct usb_host_endpoint { > - struct usb_endpoint_descriptor desc; > - struct list_head urb_list; > - void *hcpriv; > -}; > - > -/* > - * urb->transfer_flags: > - * > - * Note: URB_DIR_IN/OUT is automatically set in usb_submit_urb(). > - */ > -#define URB_SHORT_NOT_OK 0x0001 /* report short reads as errors */ > -#define URB_ZERO_PACKET 0x0040 /* Finish bulk OUT with short > packet */ > - > -struct urb; > - > -typedef void (*usb_complete_t)(struct urb *); > - > -struct urb { > - void *hcpriv; /* private data for host controller */ > - struct list_head urb_list; /* list head for use by the urb's > - * current owner */ > - struct usb_device *dev; /* (in) pointer to associated device */ > - struct usb_host_endpoint *ep; /* (internal) pointer to endpoint */ > - unsigned int pipe; /* (in) pipe information */ > - int status; /* (return) non-ISO status */ > - unsigned int transfer_flags; /* (in) URB_SHORT_NOT_OK | ...*/ > - void *transfer_buffer; /* (in) associated data buffer */ > - dma_addr_t transfer_dma; /* (in) dma addr for transfer_buffer */ > - u32 transfer_buffer_length; /* (in) data buffer length */ > - u32 actual_length; /* (return) actual transfer length */ > - unsigned char *setup_packet; /* (in) setup packet (control only) */ > - int start_frame; /* (modify) start frame (ISO) */ > - usb_complete_t complete; /* (in) completion routine */ > -}; > - > -#define usb_hcd_link_urb_to_ep(hcd, urb) ({ \ > - int ret = 0; \ > - list_add_tail(&urb->urb_list, &urb->ep->urb_list); \ > - ret; }) > -#define usb_hcd_unlink_urb_from_ep(hcd, urb) list_del_init(&urb->urb_list) > - > -static inline void usb_hcd_giveback_urb(struct usb_hcd *hcd, > - struct urb *urb, > - int status) > -{ > - urb->status = status; > - if (urb->complete) > - urb->complete(urb); > -} > - > -static inline int usb_hcd_unmap_urb_for_dma(struct usb_hcd *hcd, > - struct urb *urb) > -{ > - /* TODO: add cache invalidation here */ > - return 0; > -} > - > -static inline u16 find_tt(struct usb_device *dev) > -{ > - u8 chid; > - u8 hub; > - > - /* Find out the nearest parent which is high speed */ > - while (dev->parent->parent != NULL) > - if (dev->parent->speed != USB_SPEED_HIGH) > - dev = dev->parent; > - else > - break; > - > - /* determine the port address at that hub */ > - hub = dev->parent->devnum; > - for (chid = 0; chid < USB_MAXCHILDREN; chid++) > - if (dev->parent->children[chid] == dev) > - break; > - > - return (hub << 8) | chid; > -} > -#endif /* __USB_COMPAT_H__ */ > diff --git a/include/linux/usb/linux-compat.h > b/include/linux/usb/linux-compat.h > new file mode 100644 > index 0000000..a93dec7 > --- /dev/null > +++ b/include/linux/usb/linux-compat.h > @@ -0,0 +1,136 @@ > +/* > + * linux_compat.h -- linux compatibility header file > + * > + * Copyright (C) 2012-2013 > + * Texas Instruments Incorporated. > + * Cogent Embedded. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > + */ > + > +#ifndef __LINUX_COMPAT_H__ > +#define __LINUX_COMPAT_H__ > + > +#include <malloc.h> > +#include <linux/list.h> > +#include <linux/compat.h> > + > +#define __init > +#define __devinit > +#define __devinitdata > +#define __devinitconst > +#define __iomem > +#define __deprecated > + > +struct unused {}; > +typedef struct unused unused_t; > + > +typedef int irqreturn_t; > +typedef unused_t spinlock_t; > + > +struct work_struct {}; > + > +struct timer_list {}; > +struct notifier_block {}; > + > +typedef unsigned long dmaaddr_t; > + > +#define spin_lock_init(lock) do {} while (0) > +#define spin_lock(lock) do {} while (0) > +#define spin_unlock(lock) do {} while (0) > +#define spin_lock_irqsave(lock, flags) do {} while (0) > +#define spin_unlock_irqrestore(lock, flags) do {} while (0) > + > +#define setup_timer(timer, func, data) do {} while (0) > +#define del_timer_sync(timer) do {} while (0) > +#define schedule_work(work) do {} while (0) > +#define INIT_WORK(work, fun) do {} while (0) > + > +#define cpu_relax() do {} while (0) > + > +#define pr_debug(fmt, args...) debug(fmt, ##args) > +#define dev_dbg(dev, fmt, args...) \ > + debug(fmt, ##args) > +#define dev_vdbg(dev, fmt, args...) \ > + debug(fmt, ##args) > +#define dev_info(dev, fmt, args...) \ > + printf(fmt, ##args) > +#define dev_err(dev, fmt, args...) \ > + printf(fmt, ##args) > +#define printk printf > + > +#define WARN(condition, fmt, args...) ({ \ > + int ret_warn = !!condition; \ > + if (ret_warn) \ > + printf(fmt, ##args); \ > + ret_warn; }) > + > +#define KERN_DEBUG > +#define KERN_NOTICE > +#define KERN_WARNING > +#define KERN_ERR > + > +#define kfree(ptr) free(ptr) > + > +#define pm_runtime_get_sync(dev) do {} while (0) > +#define pm_runtime_put(dev) do {} while (0) > +#define pm_runtime_put_sync(dev) do {} while (0) > +#define pm_runtime_use_autosuspend(dev) do {} while (0) > +#define pm_runtime_set_autosuspend_delay(dev, delay) do {} while (0) > +#define pm_runtime_enable(dev) do {} while (0) > + > +#define MODULE_DESCRIPTION(desc) > +#define MODULE_AUTHOR(author) > +#define MODULE_LICENSE(license) > +#define MODULE_ALIAS(alias) > +#define module_param(name, type, perm) > +#define MODULE_PARM_DESC(name, desc) > +#define EXPORT_SYMBOL_GPL(name) > + > +#define writesl(a, d, s) __raw_writesl((unsigned long)a, d, s) > +#define readsl(a, d, s) __raw_readsl((unsigned long)a, d, s) > +#define writesw(a, d, s) __raw_writesw((unsigned long)a, d, s) > +#define readsw(a, d, s) __raw_readsw((unsigned long)a, d, s) > +#define writesb(a, d, s) __raw_writesb((unsigned long)a, d, s) > +#define readsb(a, d, s) __raw_readsb((unsigned long)a, d, s) > + > +#define IRQ_NONE 0 > +#define IRQ_HANDLED 0 > + > +#define dev_set_drvdata(dev, data) do {} while (0) > + > +#define disable_irq_wake(irq) do {} while (0) > +#define enable_irq_wake(irq) -EINVAL > +#define free_irq(irq, data) do {} while (0) > +#define request_irq(nr, f, flags, nm, data) 0 > + > +#define device_init_wakeup(dev, a) do {} while (0) > + > +#define platform_data device_data > + > +#ifndef wmb > +#define wmb() asm volatile ("" : : : "memory") > +#endif > + > +#define msleep(a) udelay(a * 1000) > + > +/* > + * Map U-Boot config options to Linux ones > + */ > +#ifdef CONFIG_OMAP34XX > +#define CONFIG_SOC_OMAP3430 > +#endif > + > +#endif /* __LINUX_COMPAT_H__ */ > diff --git a/include/linux/usb/usb-compat.h b/include/linux/usb/usb-compat.h > new file mode 100644 > index 0000000..295f1b7 > --- /dev/null > +++ b/include/linux/usb/usb-compat.h > @@ -0,0 +1,110 @@ > +/* > + * usb_compat.h -- usb compatibility header file > + * > + * Copyright (C) 2012-2013 > + * Texas Instruments Incorporated. > + * Cogent Embedded. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > + */ > + > +#ifndef __USB_COMPAT_H__ > +#define __USB_COMPAT_H__ > + > +#include "usb.h" > + > +struct usb_hcd { > + void *hcd_priv; > +}; > + > +struct usb_host_endpoint { > + struct usb_endpoint_descriptor desc; > + struct list_head urb_list; > + void *hcpriv; > +}; > + > +/* > + * urb->transfer_flags: > + * > + * Note: URB_DIR_IN/OUT is automatically set in usb_submit_urb(). > + */ > +#define URB_SHORT_NOT_OK 0x0001 /* report short reads as errors */ > +#define URB_ZERO_PACKET 0x0040 /* Finish bulk OUT with short > packet */ > + > +struct urb; > + > +typedef void (*usb_complete_t)(struct urb *); > + > +struct urb { > + void *hcpriv; /* private data for host controller */ > + struct list_head urb_list; /* list head for use by the urb's > + * current owner */ > + struct usb_device *dev; /* (in) pointer to associated device */ > + struct usb_host_endpoint *ep; /* (internal) pointer to endpoint */ > + unsigned int pipe; /* (in) pipe information */ > + int status; /* (return) non-ISO status */ > + unsigned int transfer_flags; /* (in) URB_SHORT_NOT_OK | ...*/ > + void *transfer_buffer; /* (in) associated data buffer */ > + dma_addr_t transfer_dma; /* (in) dma addr for transfer_buffer */ > + u32 transfer_buffer_length; /* (in) data buffer length */ > + u32 actual_length; /* (return) actual transfer length */ > + unsigned char *setup_packet; /* (in) setup packet (control only) */ > + int start_frame; /* (modify) start frame (ISO) */ > + usb_complete_t complete; /* (in) completion routine */ > +}; > + > +#define usb_hcd_link_urb_to_ep(hcd, urb) ({ \ > + int ret = 0; \ > + list_add_tail(&urb->urb_list, &urb->ep->urb_list); \ > + ret; }) > +#define usb_hcd_unlink_urb_from_ep(hcd, urb) list_del_init(&urb->urb_list) > + > +static inline void usb_hcd_giveback_urb(struct usb_hcd *hcd, > + struct urb *urb, > + int status) > +{ > + urb->status = status; > + if (urb->complete) > + urb->complete(urb); > +} > + > +static inline int usb_hcd_unmap_urb_for_dma(struct usb_hcd *hcd, > + struct urb *urb) > +{ > + /* TODO: add cache invalidation here */ > + return 0; > +} > + > +static inline u16 find_tt(struct usb_device *dev) > +{ > + u8 chid; > + u8 hub; > + > + /* Find out the nearest parent which is high speed */ > + while (dev->parent->parent != NULL) > + if (dev->parent->speed != USB_SPEED_HIGH) > + dev = dev->parent; > + else > + break; > + > + /* determine the port address at that hub */ > + hub = dev->parent->devnum; > + for (chid = 0; chid < USB_MAXCHILDREN; chid++) > + if (dev->parent->children[chid] == dev) > + break; > + > + return (hub << 8) | chid; > +} > +#endif /* __USB_COMPAT_H__ */
-- ------------------ Dan Murphy _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot