Merge tag 'v3.17-rc4' into next
authorFelipe Balbi <balbi@ti.com>
Mon, 8 Sep 2014 19:39:01 +0000 (14:39 -0500)
committerFelipe Balbi <balbi@ti.com>
Mon, 8 Sep 2014 19:39:01 +0000 (14:39 -0500)
Merge Linux 3.17-rc4 here so we have all the latest
fixes on next too. This also cleans up a few conflicts
when applying patches.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Conflicts:
drivers/usb/gadget/Makefile
drivers/usb/gadget/function/Makefile
drivers/usb/gadget/legacy/Makefile
drivers/usb/phy/phy-samsung-usb.h

1  2 
MAINTAINERS
drivers/usb/dwc3/dwc3-omap.c
drivers/usb/gadget/function/uvc_video.c
drivers/usb/gadget/udc/Kconfig
drivers/usb/gadget/udc/r8a66597-udc.c
drivers/usb/phy/phy-msm-usb.c

diff --combined MAINTAINERS
index 4aa5cbc30c8ecb130d56ada9694c3e9e4cd7335b,5e7866a486b0c3310b64ca5c9aa6cd6d9c16d354..5d66c037be183c644196725e4651ec8d8dff0feb
@@@ -1277,9 -1277,15 +1277,15 @@@ F:    drivers/scsi/arm
  ARM/Rockchip SoC support
  M:    Heiko Stuebner <heiko@sntech.de>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+ L:    linux-rockchip@lists.infradead.org
  S:    Maintained
+ F:    arch/arm/boot/dts/rk3*
  F:    arch/arm/mach-rockchip/
+ F:    drivers/clk/rockchip/
+ F:    drivers/i2c/busses/i2c-rk3x.c
  F:    drivers/*/*rockchip*
+ F:    drivers/*/*/*rockchip*
+ F:    sound/soc/rockchip/
  
  ARM/SAMSUNG ARM ARCHITECTURES
  M:    Ben Dooks <ben-linux@fluff.org>
@@@ -1392,7 -1398,6 +1398,7 @@@ F:      drivers/media/rc/st_rc.
  F:    drivers/i2c/busses/i2c-st.c
  F:    drivers/tty/serial/st-asc.c
  F:    drivers/mmc/host/sdhci-st.c
 +F:    drivers/usb/dwc3/dwc3-st.c
  
  ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
@@@ -1844,6 -1849,12 +1850,12 @@@ S:    Orpha
  F:    Documentation/filesystems/befs.txt
  F:    fs/befs/
  
+ BECKHOFF CX5020 ETHERCAT MASTER DRIVER
+ M: Dariusz Marcinkiewicz <reksio@newterm.pl>
+ L: netdev@vger.kernel.org
+ S: Maintained
+ F: drivers/net/ethernet/ec_bhf.c
  BFS FILE SYSTEM
  M:    "Tigran A. Aivazian" <tigran@aivazian.fsnet.co.uk>
  S:    Maintained
@@@ -2060,7 -2071,7 +2072,7 @@@ S:      Supporte
  F:    drivers/scsi/bnx2i/
  
  BROADCOM KONA GPIO DRIVER
- M:    Markus Mayer <markus.mayer@linaro.org>
+ M:    Ray Jui <rjui@broadcom.com>
  L:    bcm-kernel-feedback-list@broadcom.com
  S:    Supported
  F:    drivers/gpio/gpio-bcm-kona.c
@@@ -3116,6 -3127,17 +3128,17 @@@ F:    include/linux/host1x.
  F:    include/uapi/drm/tegra_drm.h
  F:    Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
  
+ DRM DRIVERS FOR RENESAS
+ M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+ L:    dri-devel@lists.freedesktop.org
+ L:    linux-sh@vger.kernel.org
+ T:    git git://people.freedesktop.org/~airlied/linux
+ S:    Supported
+ F:    drivers/gpu/drm/rcar-du/
+ F:    drivers/gpu/drm/shmobile/
+ F:    include/linux/platform_data/rcar-du.h
+ F:    include/linux/platform_data/shmob_drm.h
  DSBR100 USB FM RADIO DRIVER
  M:    Alexey Klimov <klimov.linux@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -3844,10 -3866,13 +3867,13 @@@ F:   drivers/tty/serial/ucc_uart.
  
  FREESCALE SOC SOUND DRIVERS
  M:    Timur Tabi <timur@tabi.org>
+ M:    Nicolin Chen <nicoleotsuka@gmail.com>
+ M:    Xiubo Li <Li.Xiubo@freescale.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
  F:    sound/soc/fsl/fsl*
+ F:    sound/soc/fsl/imx*
  F:    sound/soc/fsl/mpc8610_hpcd.c
  
  FREEVXFS FILESYSTEM
@@@ -4447,6 -4472,13 +4473,13 @@@ F:    include/linux/i2c-*.
  F:    include/uapi/linux/i2c.h
  F:    include/uapi/linux/i2c-*.h
  
+ I2C ACPI SUPPORT
+ M:    Mika Westerberg <mika.westerberg@linux.intel.com>
+ L:    linux-i2c@vger.kernel.org
+ L:    linux-acpi@vger.kernel.org
+ S:    Maintained
+ F:    drivers/i2c/i2c-acpi.c
  I2C-TAOS-EVM DRIVER
  M:    Jean Delvare <jdelvare@suse.de>
  L:    linux-i2c@vger.kernel.org
@@@ -5973,6 -6005,12 +6006,12 @@@ T:    git git://linuxtv.org/media_tree.gi
  S:    Maintained
  F:    drivers/media/radio/radio-mr800.c
  
+ MRF24J40 IEEE 802.15.4 RADIO DRIVER
+ M:    Alan Ott <alan@signal11.us>
+ L:    linux-wpan@vger.kernel.org
+ S:    Maintained
+ F:    drivers/net/ieee802154/mrf24j40.c
  MSI LAPTOP SUPPORT
  M:    "Lee, Chun-Yi" <jlee@suse.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -6859,6 -6897,14 +6898,14 @@@ S:    Supporte
  F:    Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
  F:    drivers/pci/host/pci-tegra.c
  
+ PCI DRIVER FOR TI DRA7XX
+ M:    Kishon Vijay Abraham I <kishon@ti.com>
+ L:    linux-omap@vger.kernel.org
+ L:    linux-pci@vger.kernel.org
+ S:    Supported
+ F:    Documentation/devicetree/bindings/pci/ti-pci.txt
+ F:    drivers/pci/host/pci-dra7xx.c
  PCI DRIVER FOR RENESAS R-CAR
  M:    Simon Horman <horms@verge.net.au>
  L:    linux-pci@vger.kernel.org
@@@ -9516,6 -9562,14 +9563,14 @@@ S:    Maintaine
  F:    Documentation/usb/ohci.txt
  F:    drivers/usb/host/ohci*
  
+ USB OVER IP DRIVER
+ M:    Valentina Manea <valentina.manea.m@gmail.com>
+ M:    Shuah Khan <shuah.kh@samsung.com>
+ L:    linux-usb@vger.kernel.org
+ S:    Maintained
+ F:    drivers/usb/usbip/
+ F:    tools/usb/usbip/
  USB PEGASUS DRIVER
  M:    Petko Manolov <petkan@nucleusys.com>
  L:    linux-usb@vger.kernel.org
@@@ -10016,9 -10070,9 +10071,9 @@@ F:   Documentation/x86
  F:    arch/x86/
  
  X86 PLATFORM DRIVERS
- M:    Matthew Garrett <matthew.garrett@nebula.com>
+ M:    Darren Hart <dvhart@infradead.org>
  L:    platform-driver-x86@vger.kernel.org
- T:    git git://cavan.codon.org.uk/platform-drivers-x86.git
+ T:    git git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git
  S:    Maintained
  F:    drivers/platform/x86/
  
index 76345aceb4b6ae2a56832a41a18425daa15218b3,9dcfbe7cd5f5d5cfc58239ee578cd68cae09a63f..3ef5e4fc315b19efcb9fb8c9a70828643c690163
@@@ -425,7 -425,7 +425,7 @@@ static void dwc3_omap_set_utmi_mode(str
  
  static int dwc3_omap_extcon_register(struct dwc3_omap *omap)
  {
-       u32                     ret;
+       int                     ret;
        struct device_node      *node = omap->dev->of_node;
        struct extcon_dev       *edev;
  
@@@ -481,8 -481,10 +481,8 @@@ static int dwc3_omap_probe(struct platf
        }
  
        omap = devm_kzalloc(dev, sizeof(*omap), GFP_KERNEL);
 -      if (!omap) {
 -              dev_err(dev, "not enough memory\n");
 +      if (!omap)
                return -ENOMEM;
 -      }
  
        platform_set_drvdata(pdev, omap);
  
index beba9168614af792df4ba52973e6ffc660de6002,a5eb9a3fbb7a3c7c40306e516abfd5244986f436..1ff478a961a6253670ecd310dd0d89c5251e6ecd
@@@ -171,7 -171,7 +171,7 @@@ uvc_video_complete(struct usb_ep *ep, s
                break;
  
        case -ESHUTDOWN:        /* disconnect from host. */
 -              printk(KERN_INFO "VS request cancelled.\n");
 +              printk(KERN_DEBUG "VS request cancelled.\n");
                uvc_queue_cancel(queue, 1);
                goto requeue;
  
                printk(KERN_INFO "Failed to queue request (%d).\n", ret);
                usb_ep_set_halt(ep);
                spin_unlock_irqrestore(&video->queue.irqlock, flags);
+               uvc_queue_cancel(queue, 0);
                goto requeue;
        }
        spin_unlock_irqrestore(&video->queue.irqlock, flags);
@@@ -281,6 -282,7 +282,7 @@@ error
  static int
  uvc_video_pump(struct uvc_video *video)
  {
+       struct uvc_video_queue *queue = &video->queue;
        struct usb_request *req;
        struct uvc_buffer *buf;
        unsigned long flags;
                        printk(KERN_INFO "Failed to queue request (%d)\n", ret);
                        usb_ep_set_halt(video->ep);
                        spin_unlock_irqrestore(&video->queue.irqlock, flags);
+                       uvc_queue_cancel(queue, 0);
                        break;
                }
                spin_unlock_irqrestore(&video->queue.irqlock, flags);
index 00171d436cf86b966fcbd5a25362cf76688d3a2c,34ebaa68504c1b68c5e697ccfe0ed74524f1a4fc..0c172809b53b13f84a72856a8b99d9f4cef473dd
@@@ -163,7 -163,7 +163,7 @@@ config USB_R8A6659
  
  config USB_RENESAS_USBHS_UDC
        tristate 'Renesas USBHS controller'
 -      depends on USB_RENESAS_USBHS
 +      depends on USB_RENESAS_USBHS && HAS_DMA
        help
           Renesas USBHS is a discrete USB host and peripheral controller chip
           that supports both full and high speed USB 2.0 data transfers.
@@@ -332,7 -332,7 +332,7 @@@ config USB_GOK
           gadget drivers to also be dynamically linked.
  
  config USB_EG20T
-       tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC"
+       tristate "Intel QUARK X1000/EG20T PCH/LAPIS Semiconductor IOH(ML7213/ML7831) UDC"
        depends on PCI
        help
          This is a USB device driver for EG20T PCH.
          ML7213/ML7831 is companion chip for Intel Atom E6xx series.
          ML7213/ML7831 is completely compatible for Intel EG20T PCH.
  
+         This driver can be used with Intel's Quark X1000 SOC platform
  #
  # LAST -- dummy/emulated controller
  #
index 00f7345f695116fe9ec76586c0c7a79bd0a83656,de2a8713b42884994cafda67990e06a2e93fcb23..de9c400b9944a6de45ea3d6223efa0d848e86847
@@@ -430,7 -430,7 +430,7 @@@ static void r8a66597_ep_setting(struct 
        ep->pipenum = pipenum;
        ep->ep.maxpacket = usb_endpoint_maxp(desc);
        r8a66597->pipenum2ep[pipenum] = ep;
 -      r8a66597->epaddr2ep[desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK]
 +      r8a66597->epaddr2ep[usb_endpoint_num(desc)]
                = ep;
        INIT_LIST_HEAD(&ep->queue);
  }
@@@ -464,7 -464,7 +464,7 @@@ static int alloc_pipe_config(struct r8a
        if (ep->pipenum)        /* already allocated pipe  */
                return 0;
  
 -      switch (desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) {
 +      switch (usb_endpoint_type(desc)) {
        case USB_ENDPOINT_XFER_BULK:
                if (r8a66597->bulk >= R8A66597_MAX_NUM_BULK) {
                        if (r8a66597->isochronous >= R8A66597_MAX_NUM_ISOC) {
        }
        ep->type = info.type;
  
 -      info.epnum = desc->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
 +      info.epnum = usb_endpoint_num(desc);
        info.maxpacket = usb_endpoint_maxp(desc);
        info.interval = desc->bInterval;
        if (desc->bEndpointAddress & USB_ENDPOINT_DIR_MASK)
@@@ -1846,8 -1846,10 +1846,8 @@@ static int r8a66597_sudmac_ioremap(stru
  
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "sudmac");
        r8a66597->sudmac_reg = devm_ioremap_resource(&pdev->dev, res);
 -      if (IS_ERR(r8a66597->sudmac_reg)) {
 -              dev_err(&pdev->dev, "ioremap error(sudmac).\n");
 +      if (IS_ERR(r8a66597->sudmac_reg))
                return PTR_ERR(r8a66597->sudmac_reg);
 -      }
  
        return 0;
  }
@@@ -1866,8 -1868,8 +1866,8 @@@ static int r8a66597_probe(struct platfo
  
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        reg = devm_ioremap_resource(&pdev->dev, res);
-       if (!reg)
-               return -ENODEV;
+       if (IS_ERR(reg))
+               return PTR_ERR(reg);
  
        ires = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
        irq = ires->start;
index 45b95946500f56f3ce110e49e9e45978580e1108,afc09087ec3630217079dd074f6da406ab3eed68..7bb48af9e02776f8dac102ae49adbfc492cfe096
@@@ -281,7 -281,7 +281,7 @@@ static int msm_otg_phy_clk_reset(struc
  {
        int ret = 0;
  
 -      if (motg->pdata->phy_clk_reset && motg->phy_reset_clk)
 +      if (motg->pdata->phy_clk_reset)
                ret = motg->pdata->phy_clk_reset(motg->phy_reset_clk);
        else if (motg->phy_rst)
                ret = reset_control_reset(motg->phy_rst);
@@@ -1394,7 -1394,7 +1394,7 @@@ out
        return status;
  }
  
 -const struct file_operations msm_otg_mode_fops = {
 +static const struct file_operations msm_otg_mode_fops = {
        .open = msm_otg_mode_open,
        .read = seq_read,
        .write = msm_otg_mode_write,
@@@ -1554,14 -1554,11 +1554,14 @@@ static int msm_otg_probe(struct platfor
        phy = &motg->phy;
        phy->dev = &pdev->dev;
  
 -      motg->phy_reset_clk = devm_clk_get(&pdev->dev,
 +      if (motg->pdata->phy_clk_reset) {
 +              motg->phy_reset_clk = devm_clk_get(&pdev->dev,
                                           np ? "phy" : "usb_phy_clk");
 -      if (IS_ERR(motg->phy_reset_clk)) {
 -              dev_err(&pdev->dev, "failed to get usb_phy_clk\n");
 -              motg->phy_reset_clk = NULL;
 +
 +              if (IS_ERR(motg->phy_reset_clk)) {
 +                      dev_err(&pdev->dev, "failed to get usb_phy_clk\n");
 +                      return PTR_ERR(motg->phy_reset_clk);
 +              }
        }
  
        motg->clk = devm_clk_get(&pdev->dev, np ? "core" : "usb_hs_clk");
         */
        if (motg->phy_number) {
                phy_select = devm_ioremap_nocache(&pdev->dev, USB2_PHY_SEL, 4);
-               if (IS_ERR(phy_select))
-                       return PTR_ERR(phy_select);
+               if (!phy_select)
+                       return -ENOMEM;
                /* Enable second PHY with the OTG port */
                writel(0x1, phy_select);
        }