Merge tag 'fixes-for-v3.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi...
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Jan 2013 18:09:49 +0000 (10:09 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Jan 2013 18:09:49 +0000 (10:09 -0800)
Felipe says:
usb: fixes for v3.8-rc2

Here is the first set of fixes for v3.8-rc cycle.

There is a build fix for musb's dsps glue layer caused
by some header cleanup on the OMAP tree.

Marvel's USB drivers got a fix up for clk API usage
switching over to clk_prepare() calls.

u_serial has a bug fix for a missing wake_up() which
would make gs_cleanup() wait forever for gs_close()
to finish.

A minor bug fix on dwc3's debugfs interface which
would make us read wrong addresses when dumping
all registers.

dummy_hcd learned how to enumerate g_multi.

s3c-hsotg now understands that we shouldn't kfree()
memory allocated with devm_*.

Other than that, there are a bunch of other minor fixes
on renesas_usbhs, tcm_usb_gadget and amd5536udc.

All patches have been pending on mailing for many weeks
and shouldn't cause any problems.

1  2 
drivers/usb/musb/musb_core.c

index f1c6c5470b92550831cbe6551cf8cb090b2d491d,766dbda1981a59796125554ee93d96a6e304130a..fd3486745e64bcdecd3aeea4843971e5e1795c22
@@@ -251,7 -251,7 +251,7 @@@ void musb_write_fifo(struct musb_hw_ep 
                /* best case is 32bit-aligned source address */
                if ((0x02 & (unsigned long) src) == 0) {
                        if (len >= 4) {
 -                              writesl(fifo, src + index, len >> 2);
 +                              iowrite32_rep(fifo, src + index, len >> 2);
                                index += len & ~0x03;
                        }
                        if (len & 0x02) {
                        }
                } else {
                        if (len >= 2) {
 -                              writesw(fifo, src + index, len >> 1);
 +                              iowrite16_rep(fifo, src + index, len >> 1);
                                index += len & ~0x01;
                        }
                }
                        musb_writeb(fifo, 0, src[index]);
        } else  {
                /* byte aligned */
 -              writesb(fifo, src, len);
 +              iowrite8_rep(fifo, src, len);
        }
  }
  
@@@ -294,7 -294,7 +294,7 @@@ void musb_read_fifo(struct musb_hw_ep *
                /* best case is 32bit-aligned destination address */
                if ((0x02 & (unsigned long) dst) == 0) {
                        if (len >= 4) {
 -                              readsl(fifo, dst, len >> 2);
 +                              ioread32_rep(fifo, dst, len >> 2);
                                index = len & ~0x03;
                        }
                        if (len & 0x02) {
                        }
                } else {
                        if (len >= 2) {
 -                              readsw(fifo, dst, len >> 1);
 +                              ioread16_rep(fifo, dst, len >> 1);
                                index = len & ~0x01;
                        }
                }
                        dst[index] = musb_readb(fifo, 0);
        } else  {
                /* byte aligned */
 -              readsb(fifo, dst, len);
 +              ioread8_rep(fifo, dst, len);
        }
  }
  #endif
@@@ -2298,10 -2298,7 +2298,7 @@@ static int __init musb_init(void
        if (usb_disabled())
                return 0;
  
-       pr_info("%s: version " MUSB_VERSION ", "
-               "?dma?"
-               ", "
-               "otg (peripheral+host)",
+       pr_info("%s: version " MUSB_VERSION ", ?dma?, otg (peripheral+host)\n",
                musb_driver_name);
        return platform_driver_register(&musb_driver);
  }