Message ID | 1371150441-3470-1-git-send-email-dmurphy@ti.com |
---|---|
State | Changes Requested |
Delegated to: | Marek Vasut |
Headers | show |
+ 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 <dmurphy@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__ */
Dear Dan Murphy, > + 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 <dmurphy@ti.com> > > --- > > v2 - Fix checkpatch issues only for newly introduced code - > > http://patchwork.ozlabs.org/patch/251127/ Can you please make this into two patches? First adding the license and the other doing the move? This way you would be able to even git format-patch -MC and reduce the patch to a bare minimum , making it nicely reviewable. btw are you sure about the license? Best regards, Marek Vasut
Marek On 06/20/2013 08:49 AM, Marek Vasut wrote: > Dear Dan Murphy, > >> + 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 <dmurphy@ti.com> >>> --- >>> v2 - Fix checkpatch issues only for newly introduced code - >>> http://patchwork.ozlabs.org/patch/251127/ > Can you please make this into two patches? First adding the license and the > other doing the move? This way you would be able to even git format-patch -MC > and reduce the patch to a bare minimum , making it nicely reviewable. > > btw are you sure about the license? > > Best regards, > Marek Vasut Thanks for the review. I am rethinking the move of these files. Do you have specific questions on the license? Because I will still be sending that patch in.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/20/2013 09:49 AM, Marek Vasut wrote: > Dear Dan Murphy, > >> + 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 <dmurphy@ti.com> --- v2 - Fix >>> checkpatch issues only for newly introduced code - >>> http://patchwork.ozlabs.org/patch/251127/ > > Can you please make this into two patches? First adding the license > and the other doing the move? This way you would be able to even > git format-patch -MC and reduce the patch to a bare minimum , > making it nicely reviewable. > > btw are you sure about the license? Yes, we have talked with Cogent Embedded. They did the work while contracting for TI and we're sharing the copyright. - -- Tom -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJRww7tAAoJENk4IS6UOR1Wdf0QAJ3MEkIo4sc9kjuEkAjRVvtj Is7lgrSbw21iXSsHxN5gccwnimGO2eGJJMw2T2dgUwLB+ybbg9wWQ3FVpsrZy5dd toyw8o+odXJyJg6jux4ZyuA/1FrR+2+zWlULYQ5cMzRgWLOgTbGayFPXuK1JCm9I Zt03VIyJp2iYuN2ho9XgKD5lYHeYb0iJLeCoDccEzQEGWCMI0eOCeHcrGXz8jp8O qVYFsQHZaQAsRzZIPY0mv7yxJXmX63vdR7Q3Em/qDMI7JpfCRtK9mnj90E9itULH djw45yYU/rjzx667QWwDYukq5a8fDQJ4Ou5mxxWeahYFsaJZxcuk2x/olz6sEH7M mfyT90A8w4buMJ12Oha1Y5HwuWS6UeDbINZMxK94n5sR/pzI5Yry5JdLoph4uewZ GDBDLT7OAMcud6ofi9xCwCy4dvrSxIZh3J0pMPNrMC7EZsyaItTevITKLtWRyTGd doTlUjpTdnTtbMqQNArGZ+SQtAgQvrTJOqlhj/My5OAEH/gpZ5OHPXcaDSBMWcQv t2eCLHudh72EFoyge+KNoqwJELwRc1RWX+BleyzOZev0HKQr4r2Z9DIfLw9XI4Os jZgZp7Wwmaro7yUYzSkt5FdFGcJhxqhJocMSXkhd45bnA2k/eXPxOuOMuJpgZHMM e2QmOENBI7pcwyDYnhdi =nzfH -----END PGP SIGNATURE-----
Dear Dan Murphy, > Marek > > On 06/20/2013 08:49 AM, Marek Vasut wrote: > > Dear Dan Murphy, > > > >> + 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 <dmurphy@ti.com> > >>> --- > >>> v2 - Fix checkpatch issues only for newly introduced code - > >>> http://patchwork.ozlabs.org/patch/251127/ > > > > Can you please make this into two patches? First adding the license and > > the other doing the move? This way you would be able to even git > > format-patch -MC and reduce the patch to a bare minimum , making it > > nicely reviewable. > > > > btw are you sure about the license? > > > > Best regards, > > Marek Vasut > > Thanks for the review. > > I am rethinking the move of these files. > > Do you have specific questions on the license? > Because I will still be sending that patch in. Tom seem to have cleared it up, no prob. Best regards, Marek Vasut
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__ */
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 <dmurphy@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