aboutsummaryrefslogtreecommitdiffstats
path: root/usb
diff options
Diffstat (limited to 'usb')
-rw-r--r--usb/usb-core-hcd-pci-use-for_each_pci_dev.patch33
-rw-r--r--usb/usb-ehci_omap-fix-device-detect-issue-with-modules.patch83
-rw-r--r--usb/usb-gadget-compilation-issue-missing-task_interruptible.patch44
-rw-r--r--usb/usb-gadget-storage_common-comments-updated.patch159
-rw-r--r--usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch39
-rw-r--r--usb/usb-musb-fix-compilation-warning-in-host-only-mode.patch45
-rw-r--r--usb/usb-musb-kill-board-specific-pinmux-from-driver-file.patch48
-rw-r--r--usb/usb-musb-use-correct-register-widths-in-register-dumps.patch72
-rw-r--r--usb/usb-serial-io_ti-don-t-return-0-if-writing-the-download-record-failed.patch28
-rw-r--r--usb/usb-ulpi-fix-compilation-warning.patch34
10 files changed, 585 insertions, 0 deletions
diff --git a/usb/usb-core-hcd-pci-use-for_each_pci_dev.patch b/usb/usb-core-hcd-pci-use-for_each_pci_dev.patch
new file mode 100644
index 00000000000000..a7dc30a68feb09
--- /dev/null
+++ b/usb/usb-core-hcd-pci-use-for_each_pci_dev.patch
@@ -0,0 +1,33 @@
+From segooon@gmail.com Thu Jul 8 11:37:17 2010
+From: Kulikov Vasiliy <segooon@gmail.com>
+Date: Sat, 3 Jul 2010 20:04:47 +0400
+Subject: USB: core: hcd-pci: use for_each_pci_dev()
+To: Kernel Janitors <kernel-janitors@vger.kernel.org>
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, Alan Stern <stern@rowland.harvard.edu>, Andrew Morton <akpm@linux-foundation.org>, Alexey Dobriyan <adobriyan@gmail.com>, "Rafael J. Wysocki" <rjw@sisk.pl>, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
+Message-ID: <1278173088-12051-1-git-send-email-segooon@gmail.com>
+
+
+Use for_each_pci_dev() to simplify the code.
+
+Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
+Acked-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/hcd-pci.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+--- a/drivers/usb/core/hcd-pci.c
++++ b/drivers/usb/core/hcd-pci.c
+@@ -66,10 +66,7 @@ static void companion_common(struct pci_
+ * vice versa.
+ */
+ companion = NULL;
+- for (;;) {
+- companion = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, companion);
+- if (!companion)
+- break;
++ for_each_pci_dev(companion) {
+ if (companion->bus != pdev->bus ||
+ PCI_SLOT(companion->devfn) != slot)
+ continue;
diff --git a/usb/usb-ehci_omap-fix-device-detect-issue-with-modules.patch b/usb/usb-ehci_omap-fix-device-detect-issue-with-modules.patch
new file mode 100644
index 00000000000000..17ebcb359d0ae2
--- /dev/null
+++ b/usb/usb-ehci_omap-fix-device-detect-issue-with-modules.patch
@@ -0,0 +1,83 @@
+From ajay.gupta@ti.com Thu Jul 8 11:40:51 2010
+From: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Date: Thu, 8 Jul 2010 14:03:02 +0530
+Subject: USB: ehci_omap: fix device detect issue with modules
+To: linux-usb@vger.kernel.org
+Cc: linux-omap@vger.kernel.org, felipe.balbi@nokia.com, gregkh@suse.de, Ajay Kumar Gupta <ajay.gupta@ti.com>
+Message-ID: <1278577982-30046-5-git-send-email-ajay.gupta@ti.com>
+
+
+Currently devices don't get detected automatically if the ehci
+module is inserted 2nd time onward. We need to disconnect and
+reconnect the device for it to get detected and enumerated.
+
+Resetting the USB PHY using PHY reset comamnd over ULPI fixes
+this issue. Tested on OMAP3EVM.
+
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ehci-omap.c | 36 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+--- a/drivers/usb/host/ehci-omap.c
++++ b/drivers/usb/host/ehci-omap.c
+@@ -38,6 +38,7 @@
+ #include <linux/gpio.h>
+ #include <linux/regulator/consumer.h>
+ #include <linux/slab.h>
++#include <linux/usb/ulpi.h>
+ #include <plat/usb.h>
+
+ /*
+@@ -236,6 +237,35 @@ static void omap_usb_utmi_init(struct eh
+
+ /*-------------------------------------------------------------------------*/
+
++static void omap_ehci_soft_phy_reset(struct ehci_hcd_omap *omap, u8 port)
++{
++ unsigned long timeout = jiffies + msecs_to_jiffies(1000);
++ unsigned reg = 0;
++
++ reg = ULPI_FUNC_CTRL_RESET
++ /* FUNCTION_CTRL_SET register */
++ | (ULPI_SET(ULPI_FUNC_CTRL) << EHCI_INSNREG05_ULPI_REGADD_SHIFT)
++ /* Write */
++ | (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT)
++ /* PORTn */
++ | ((port + 1) << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT)
++ /* start ULPI access*/
++ | (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT);
++
++ ehci_omap_writel(omap->ehci_base, EHCI_INSNREG05_ULPI, reg);
++
++ /* Wait for ULPI access completion */
++ while ((ehci_omap_readl(omap->ehci_base, EHCI_INSNREG05_ULPI)
++ & (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT))) {
++ cpu_relax();
++
++ if (time_after(jiffies, timeout)) {
++ dev_dbg(omap->dev, "phy reset operation timed out\n");
++ break;
++ }
++ }
++}
++
+ /* omap_start_ehc
+ * - Start the TI USBHOST controller
+ */
+@@ -425,6 +455,12 @@ static int omap_start_ehc(struct ehci_hc
+ gpio_set_value(omap->reset_gpio_port[1], 1);
+ }
+
++ /* Soft reset the PHY using PHY reset command over ULPI */
++ if (omap->port_mode[0] == EHCI_HCD_OMAP_MODE_PHY)
++ omap_ehci_soft_phy_reset(omap, 0);
++ if (omap->port_mode[1] == EHCI_HCD_OMAP_MODE_PHY)
++ omap_ehci_soft_phy_reset(omap, 1);
++
+ return 0;
+
+ err_sys_status:
diff --git a/usb/usb-gadget-compilation-issue-missing-task_interruptible.patch b/usb/usb-gadget-compilation-issue-missing-task_interruptible.patch
new file mode 100644
index 00000000000000..9642be9f5ac8a9
--- /dev/null
+++ b/usb/usb-gadget-compilation-issue-missing-task_interruptible.patch
@@ -0,0 +1,44 @@
+From stephane.duverger@gmail.com Thu Jul 8 11:23:40 2010
+From: stephane duverger <stephane.duverger@gmail.com>
+Date: Tue, 29 Jun 2010 16:57:25 +0200
+Subject: USB: gadget: compilation issue: missing TASK_INTERRUPTIBLE
+To: Greg KH <greg@kroah.com>
+Cc: dbrownell@users.sourceforge.net, linux-usb@vger.kernel.org
+Message-ID: <20100629165725.24e64a2b@riot.ssi.corp>
+
+
+Here is the patch for the following issue:
+
+drivers/usb/gadget/u_serial.c: In function ‘gs_start_tx’:
+drivers/usb/gadget/u_serial.c:369: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
+drivers/usb/gadget/u_serial.c:369: error: (Each undeclared identifier is reported only once
+drivers/usb/gadget/u_serial.c:369: error: for each function it appears in.)
+drivers/usb/gadget/u_serial.c: In function ‘gs_rx_push’:
+drivers/usb/gadget/u_serial.c:546: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
+drivers/usb/gadget/u_serial.c: In function ‘gs_close’:
+drivers/usb/gadget/u_serial.c:857: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
+drivers/usb/gadget/u_serial.c:857: error: implicit declaration of function ‘signal_pending’
+drivers/usb/gadget/u_serial.c:857: error: implicit declaration of function ‘schedule_timeout’
+drivers/usb/gadget/u_serial.c: In function ‘gserial_cleanup’:
+drivers/usb/gadget/u_serial.c:1190: error: ‘TASK_UNINTERRUPTIBLE’ undeclared (first use in this function)
+drivers/usb/gadget/u_serial.c:1190: error: implicit declaration of function ‘schedule’
+drivers/usb/gadget/u_serial.c: In function ‘gserial_disconnect’:
+drivers/usb/gadget/u_serial.c:1311: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function)
+
+Signed-off-by: Stephane Duverger <stephane.duverger@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/u_serial.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/gadget/u_serial.c
++++ b/drivers/usb/gadget/u_serial.c
+@@ -18,6 +18,7 @@
+ /* #define VERBOSE_DEBUG */
+
+ #include <linux/kernel.h>
++#include <linux/sched.h>
+ #include <linux/interrupt.h>
+ #include <linux/device.h>
+ #include <linux/delay.h>
diff --git a/usb/usb-gadget-storage_common-comments-updated.patch b/usb/usb-gadget-storage_common-comments-updated.patch
new file mode 100644
index 00000000000000..7b0740432d7427
--- /dev/null
+++ b/usb/usb-gadget-storage_common-comments-updated.patch
@@ -0,0 +1,159 @@
+From m.nazarewicz@samsung.com Thu Jul 8 11:30:03 2010
+From: Michal Nazarewicz <m.nazarewicz@samsung.com>
+Date: Mon, 05 Jul 2010 16:38:04 +0200
+Subject: USB: gadget: storage_common: comments updated
+To: linux-usb@vger.kernel.org
+Cc: Sergei Shtylyov <sshtylyov@mvista.com>, Greg KH <greg@kroah.com>, linux-kernel@vger.kernel.org
+Message-ID: <dd71cb106d8ded3a1d204102ffbe67f089fff923.1278324780.git.m.nazarewicz@samsung.com>
+
+
+Updated comment to describe why printing macros are needed even
+thought they are copied form the composite.h. Also, made multiline
+comments follow the coding standard.
+
+Signed-off-by: Michal Nazarewicz <m.nazarewicz@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/storage_common.c | 69 +++++++++++++++++++++++++-----------
+ 1 file changed, 48 insertions(+), 21 deletions(-)
+
+--- a/drivers/usb/gadget/storage_common.c
++++ b/drivers/usb/gadget/storage_common.c
+@@ -57,10 +57,12 @@
+ #include <asm/unaligned.h>
+
+
+-/* Thanks to NetChip Technologies for donating this product ID.
++/*
++ * Thanks to NetChip Technologies for donating this product ID.
+ *
+ * DO NOT REUSE THESE IDs with any other driver!! Ever!!
+- * Instead: allocate your own, using normal USB-IF procedures. */
++ * Instead: allocate your own, using normal USB-IF procedures.
++ */
+ #define FSG_VENDOR_ID 0x0525 /* NetChip */
+ #define FSG_PRODUCT_ID 0xa4a5 /* Linux-USB File-backed Storage Gadget */
+
+@@ -84,14 +86,27 @@
+ #define LWARN(lun, fmt, args...) dev_warn(&(lun)->dev, fmt, ## args)
+ #define LINFO(lun, fmt, args...) dev_info(&(lun)->dev, fmt, ## args)
+
+-/* Keep those macros in sync with thos in
+- * include/linux/ubs/composite.h or else GCC will complain. If they
++/*
++ * Keep those macros in sync with those in
++ * include/linux/usb/composite.h or else GCC will complain. If they
+ * are identical (the same names of arguments, white spaces in the
+ * same places) GCC will allow redefinition otherwise (even if some
+- * white space is removed or added) warning will be issued. No
+- * checking if those symbols is defined is performed because warning
+- * is desired when those macros were defined by someone else to mean
+- * something else. */
++ * white space is removed or added) warning will be issued.
++ *
++ * Those macros are needed here because File Storage Gadget does not
++ * include the composite.h header. For composite gadgets those macros
++ * are redundant since composite.h is included any way.
++ *
++ * One could check whether those macros are already defined (which
++ * would indicate composite.h had been included) or not (which would
++ * indicate we were in FSG) but this is not done because a warning is
++ * desired if definitions here differ from the ones in composite.h.
++ *
++ * We want the definitions to match and be the same in File Storage
++ * Gadget as well as Mass Storage Function (and so composite gadgets
++ * using MSF). If someone changes them in composite.h it will produce
++ * a warning in this file when building MSF.
++ */
+ #define DBG(d, fmt, args...) dev_dbg(&(d)->gadget->dev , fmt , ## args)
+ #define VDBG(d, fmt, args...) dev_vdbg(&(d)->gadget->dev , fmt , ## args)
+ #define ERROR(d, fmt, args...) dev_err(&(d)->gadget->dev , fmt , ## args)
+@@ -313,9 +328,11 @@ struct fsg_buffhd {
+ enum fsg_buffer_state state;
+ struct fsg_buffhd *next;
+
+- /* The NetChip 2280 is faster, and handles some protocol faults
++ /*
++ * The NetChip 2280 is faster, and handles some protocol faults
+ * better, if we don't submit any short bulk-out read requests.
+- * So we will record the intended request length here. */
++ * So we will record the intended request length here.
++ */
+ unsigned int bulk_out_intended_length;
+
+ struct usb_request *inreq;
+@@ -395,8 +412,10 @@ fsg_intf_desc = {
+ .iInterface = FSG_STRING_INTERFACE,
+ };
+
+-/* Three full-speed endpoint descriptors: bulk-in, bulk-out,
+- * and interrupt-in. */
++/*
++ * Three full-speed endpoint descriptors: bulk-in, bulk-out, and
++ * interrupt-in.
++ */
+
+ static struct usb_endpoint_descriptor
+ fsg_fs_bulk_in_desc = {
+@@ -459,7 +478,7 @@ static struct usb_descriptor_header *fsg
+ *
+ * That means alternate endpoint descriptors (bigger packets)
+ * and a "device qualifier" ... plus more construction options
+- * for the config descriptor.
++ * for the configuration descriptor.
+ */
+ static struct usb_endpoint_descriptor
+ fsg_hs_bulk_in_desc = {
+@@ -547,8 +566,10 @@ static struct usb_gadget_strings fsg_str
+
+ /*-------------------------------------------------------------------------*/
+
+-/* If the next two routines are called while the gadget is registered,
+- * the caller must own fsg->filesem for writing. */
++/*
++ * If the next two routines are called while the gadget is registered,
++ * the caller must own fsg->filesem for writing.
++ */
+
+ static int fsg_lun_open(struct fsg_lun *curlun, const char *filename)
+ {
+@@ -587,8 +608,10 @@ static int fsg_lun_open(struct fsg_lun *
+ goto out;
+ }
+
+- /* If we can't read the file, it's no good.
+- * If we can't write the file, use it read-only. */
++ /*
++ * If we can't read the file, it's no good.
++ * If we can't write the file, use it read-only.
++ */
+ if (!filp->f_op || !(filp->f_op->read || filp->f_op->aio_read)) {
+ LINFO(curlun, "file not readable: %s\n", filename);
+ goto out;
+@@ -646,8 +669,10 @@ static void fsg_lun_close(struct fsg_lun
+
+ /*-------------------------------------------------------------------------*/
+
+-/* Sync the file data, don't bother with the metadata.
+- * This code was copied from fs/buffer.c:sys_fdatasync(). */
++/*
++ * Sync the file data, don't bother with the metadata.
++ * This code was copied from fs/buffer.c:sys_fdatasync().
++ */
+ static int fsg_lun_fsync_sub(struct fsg_lun *curlun)
+ {
+ struct file *filp = curlun->filp;
+@@ -728,8 +753,10 @@ static ssize_t fsg_store_ro(struct devic
+ if (sscanf(buf, "%d", &i) != 1)
+ return -EINVAL;
+
+- /* Allow the write-enable status to change only while the backing file
+- * is closed. */
++ /*
++ * Allow the write-enable status to change only while the
++ * backing file is closed.
++ */
+ down_read(filesem);
+ if (fsg_lun_is_open(curlun)) {
+ LDBG(curlun, "read-only status change prevented\n");
diff --git a/usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch b/usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch
new file mode 100644
index 00000000000000..3da3fdbbe3866b
--- /dev/null
+++ b/usb/usb-musb-do-not-override-dma-mode-in-channel-program.patch
@@ -0,0 +1,39 @@
+From ajay.gupta@ti.com Thu Jul 8 11:41:23 2010
+From: Anand Gadiyar <gadiyar@ti.com>
+Date: Thu, 8 Jul 2010 16:34:55 +0530
+Subject: USB: musb: do not override DMA mode in channel program
+To: linux-usb@vger.kernel.org
+Cc: linux-omap@vger.kernel.org, felipe.balbi@nokia.com, gregkh@suse.de, Anand Gadiyar <gadiyar@ti.com>, Ajay Kumar Gupta <ajay.gupta@ti.com>
+Message-ID: <1278587095-16978-3-git-send-email-ajay.gupta@ti.com>
+
+
+From: Anand Gadiyar <gadiyar@ti.com>
+
+There is no reason for the DMA channel program to override the
+DMA mode passed down by its caller. Use the passed parameter
+directly, and let the caller handle the decision on which mode
+is to be used.
+
+Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musbhsdma.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+--- a/drivers/usb/musb/musbhsdma.c
++++ b/drivers/usb/musb/musbhsdma.c
+@@ -173,10 +173,7 @@ static int dma_channel_program(struct dm
+ musb_channel->max_packet_sz = packet_sz;
+ channel->status = MUSB_DMA_STATUS_BUSY;
+
+- if ((mode == 1) && (len >= packet_sz))
+- configure_channel(channel, packet_sz, 1, dma_addr, len);
+- else
+- configure_channel(channel, packet_sz, 0, dma_addr, len);
++ configure_channel(channel, packet_sz, mode, dma_addr, len);
+
+ return true;
+ }
diff --git a/usb/usb-musb-fix-compilation-warning-in-host-only-mode.patch b/usb/usb-musb-fix-compilation-warning-in-host-only-mode.patch
new file mode 100644
index 00000000000000..c8852ebce1f389
--- /dev/null
+++ b/usb/usb-musb-fix-compilation-warning-in-host-only-mode.patch
@@ -0,0 +1,45 @@
+From ajay.gupta@ti.com Thu Jul 8 11:40:30 2010
+From: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Date: Thu, 8 Jul 2010 14:03:00 +0530
+Subject: USB: musb: fix compilation warning in host only mode
+To: linux-usb@vger.kernel.org
+Cc: linux-omap@vger.kernel.org, felipe.balbi@nokia.com, gregkh@suse.de, Ajay Kumar Gupta <ajay.gupta@ti.com>
+Message-ID: <1278577982-30046-3-git-send-email-ajay.gupta@ti.com>
+
+
+Fixes below compilation warning when host only configuration is
+selected.
+drivers/usb/musb/musb_core.c: In function 'musb_stage0_irq':
+drivers/usb/musb/musb_core.c:711: warning: unused variable 'mbase'
+
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_core.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+--- a/drivers/usb/musb/musb_core.c
++++ b/drivers/usb/musb/musb_core.c
+@@ -704,7 +704,6 @@ static irqreturn_t musb_stage0_irq(struc
+ #ifdef CONFIG_USB_MUSB_HDRC_HCD
+ if (int_usb & MUSB_INTR_CONNECT) {
+ struct usb_hcd *hcd = musb_to_hcd(musb);
+- void __iomem *mbase = musb->mregs;
+
+ handled = IRQ_HANDLED;
+ musb->is_active = 1;
+@@ -717,9 +716,9 @@ static irqreturn_t musb_stage0_irq(struc
+ if (is_peripheral_active(musb)) {
+ /* REVISIT HNP; just force disconnect */
+ }
+- musb_writew(mbase, MUSB_INTRTXE, musb->epmask);
+- musb_writew(mbase, MUSB_INTRRXE, musb->epmask & 0xfffe);
+- musb_writeb(mbase, MUSB_INTRUSBE, 0xf7);
++ musb_writew(musb->mregs, MUSB_INTRTXE, musb->epmask);
++ musb_writew(musb->mregs, MUSB_INTRRXE, musb->epmask & 0xfffe);
++ musb_writeb(musb->mregs, MUSB_INTRUSBE, 0xf7);
+ #endif
+ musb->port1_status &= ~(USB_PORT_STAT_LOW_SPEED
+ |USB_PORT_STAT_HIGH_SPEED
diff --git a/usb/usb-musb-kill-board-specific-pinmux-from-driver-file.patch b/usb/usb-musb-kill-board-specific-pinmux-from-driver-file.patch
new file mode 100644
index 00000000000000..17a0d08f23a597
--- /dev/null
+++ b/usb/usb-musb-kill-board-specific-pinmux-from-driver-file.patch
@@ -0,0 +1,48 @@
+From ajay.gupta@ti.com Thu Jul 8 11:41:07 2010
+From: Anand Gadiyar <gadiyar@ti.com>
+Date: Thu, 8 Jul 2010 16:34:54 +0530
+Subject: USB: musb: Kill board specific pinmux from driver file
+To: linux-usb@vger.kernel.org
+Cc: linux-omap@vger.kernel.org, felipe.balbi@nokia.com, gregkh@suse.de, Anand Gadiyar <gadiyar@ti.com>, Ajay Kumar Gupta <ajay.gupta@ti.com>
+Message-ID: <1278587095-16978-2-git-send-email-ajay.gupta@ti.com>
+
+
+From: Anand Gadiyar <gadiyar@ti.com>
+
+This pin-muxing is best done in the board files. The driver should
+not do this explicitly.
+
+Also, this code causes a warning to be thrown when OMAP2430 and OMAP3/4
+support are enabled in the same kernel.
+
+Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/omap2430.c | 6 ------
+ 1 file changed, 6 deletions(-)
+
+--- a/drivers/usb/musb/omap2430.c
++++ b/drivers/usb/musb/omap2430.c
+@@ -32,8 +32,6 @@
+ #include <linux/clk.h>
+ #include <linux/io.h>
+
+-#include <plat/mux.h>
+-
+ #include "musb_core.h"
+ #include "omap2430.h"
+
+@@ -194,10 +192,6 @@ int __init musb_platform_init(struct mus
+ u32 l;
+ struct omap_musb_board_data *data = board_data;
+
+-#if defined(CONFIG_ARCH_OMAP2430)
+- omap_cfg_reg(AE5_2430_USB0HS_STP);
+-#endif
+-
+ /* We require some kind of external transceiver, hooked
+ * up through ULPI. TWL4030-family PMICs include one,
+ * which needs a driver, drivers aren't always needed.
diff --git a/usb/usb-musb-use-correct-register-widths-in-register-dumps.patch b/usb/usb-musb-use-correct-register-widths-in-register-dumps.patch
new file mode 100644
index 00000000000000..02e487f9f4454a
--- /dev/null
+++ b/usb/usb-musb-use-correct-register-widths-in-register-dumps.patch
@@ -0,0 +1,72 @@
+From ajay.gupta@ti.com Thu Jul 8 11:40:11 2010
+From: Anand Gadiyar <gadiyar@ti.com>
+Date: Thu, 8 Jul 2010 14:02:59 +0530
+Subject: USB: musb: use correct register widths in register dumps
+To: linux-usb@vger.kernel.org
+Cc: linux-omap@vger.kernel.org, felipe.balbi@nokia.com, gregkh@suse.de, Anand Gadiyar <gadiyar@ti.com>, Ajay Kumar Gupta <ajay.gupta@ti.com>
+Message-ID: <1278577982-30046-2-git-send-email-ajay.gupta@ti.com>
+
+From: Anand Gadiyar <gadiyar@ti.com>
+
+DMA_ADDR and DMA_COUNT are 32-bit registers, not 16-bit.
+
+Marking them as 16-bit in the table causes only the lower
+16-bits to be dumped and this is misleading.
+
+Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
+Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_debugfs.c | 32 ++++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 16 deletions(-)
+
+--- a/drivers/usb/musb/musb_debugfs.c
++++ b/drivers/usb/musb/musb_debugfs.c
+@@ -92,29 +92,29 @@ static const struct musb_register_map mu
+ { "LS_EOF1", 0x7E, 8 },
+ { "SOFT_RST", 0x7F, 8 },
+ { "DMA_CNTLch0", 0x204, 16 },
+- { "DMA_ADDRch0", 0x208, 16 },
+- { "DMA_COUNTch0", 0x20C, 16 },
++ { "DMA_ADDRch0", 0x208, 32 },
++ { "DMA_COUNTch0", 0x20C, 32 },
+ { "DMA_CNTLch1", 0x214, 16 },
+- { "DMA_ADDRch1", 0x218, 16 },
+- { "DMA_COUNTch1", 0x21C, 16 },
++ { "DMA_ADDRch1", 0x218, 32 },
++ { "DMA_COUNTch1", 0x21C, 32 },
+ { "DMA_CNTLch2", 0x224, 16 },
+- { "DMA_ADDRch2", 0x228, 16 },
+- { "DMA_COUNTch2", 0x22C, 16 },
++ { "DMA_ADDRch2", 0x228, 32 },
++ { "DMA_COUNTch2", 0x22C, 32 },
+ { "DMA_CNTLch3", 0x234, 16 },
+- { "DMA_ADDRch3", 0x238, 16 },
+- { "DMA_COUNTch3", 0x23C, 16 },
++ { "DMA_ADDRch3", 0x238, 32 },
++ { "DMA_COUNTch3", 0x23C, 32 },
+ { "DMA_CNTLch4", 0x244, 16 },
+- { "DMA_ADDRch4", 0x248, 16 },
+- { "DMA_COUNTch4", 0x24C, 16 },
++ { "DMA_ADDRch4", 0x248, 32 },
++ { "DMA_COUNTch4", 0x24C, 32 },
+ { "DMA_CNTLch5", 0x254, 16 },
+- { "DMA_ADDRch5", 0x258, 16 },
+- { "DMA_COUNTch5", 0x25C, 16 },
++ { "DMA_ADDRch5", 0x258, 32 },
++ { "DMA_COUNTch5", 0x25C, 32 },
+ { "DMA_CNTLch6", 0x264, 16 },
+- { "DMA_ADDRch6", 0x268, 16 },
+- { "DMA_COUNTch6", 0x26C, 16 },
++ { "DMA_ADDRch6", 0x268, 32 },
++ { "DMA_COUNTch6", 0x26C, 32 },
+ { "DMA_CNTLch7", 0x274, 16 },
+- { "DMA_ADDRch7", 0x278, 16 },
+- { "DMA_COUNTch7", 0x27C, 16 },
++ { "DMA_ADDRch7", 0x278, 32 },
++ { "DMA_COUNTch7", 0x27C, 32 },
+ { } /* Terminating Entry */
+ };
+
diff --git a/usb/usb-serial-io_ti-don-t-return-0-if-writing-the-download-record-failed.patch b/usb/usb-serial-io_ti-don-t-return-0-if-writing-the-download-record-failed.patch
new file mode 100644
index 00000000000000..8e3bf339ddbb82
--- /dev/null
+++ b/usb/usb-serial-io_ti-don-t-return-0-if-writing-the-download-record-failed.patch
@@ -0,0 +1,28 @@
+From roel.kluin@gmail.com Thu Jul 8 11:35:42 2010
+From: Roel Kluin <roel.kluin@gmail.com>
+Date: Fri, 02 Jul 2010 00:36:43 +0200
+Subject: USB: serial: io_ti: Don't return 0 if writing the download record failed
+To: Greg Kroah-Hartman <gregkh@suse.de>, linux-usb@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>, LKML <linux-kernel@vger.kernel.org>
+Message-ID: <4C2D187B.4020109@gmail.com>
+
+
+If the write download record failed we shouldn't return 0.
+
+Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/io_ti.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/serial/io_ti.c
++++ b/drivers/usb/serial/io_ti.c
+@@ -1321,7 +1321,7 @@ static int download_fw(struct edgeport_s
+ kfree(header);
+ kfree(rom_desc);
+ kfree(ti_manuf_desc);
+- return status;
++ return -EINVAL;
+ }
+
+ kfree(vheader);
diff --git a/usb/usb-ulpi-fix-compilation-warning.patch b/usb/usb-ulpi-fix-compilation-warning.patch
new file mode 100644
index 00000000000000..7cc79693b3c6bb
--- /dev/null
+++ b/usb/usb-ulpi-fix-compilation-warning.patch
@@ -0,0 +1,34 @@
+From ajay.gupta@ti.com Thu Jul 8 11:40:41 2010
+From: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Date: Thu, 8 Jul 2010 14:03:01 +0530
+Subject: USB: ulpi: fix compilation warning
+To: linux-usb@vger.kernel.org
+Cc: linux-omap@vger.kernel.org, felipe.balbi@nokia.com, gregkh@suse.de, Ajay Kumar Gupta <ajay.gupta@ti.com>
+Message-ID: <1278577982-30046-4-git-send-email-ajay.gupta@ti.com>
+
+
+Fixes below compilation warning from ulpi.h
+
+include/linux/usb/ulpi.h:145:
+ warning: 'struct otg_io_access_ops' declared inside parameter list
+include/linux/usb/ulpi.h:145:
+ warning: its scope is only this definition or declaration,
+ which is probably not what you want
+
+Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ include/linux/usb/ulpi.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/include/linux/usb/ulpi.h
++++ b/include/linux/usb/ulpi.h
+@@ -11,6 +11,7 @@
+ #ifndef __LINUX_USB_ULPI_H
+ #define __LINUX_USB_ULPI_H
+
++#include <linux/usb/otg.h>
+ /*-------------------------------------------------------------------------*/
+
+ /*