aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/host
AgeCommit message (Collapse)AuthorFilesLines
2013-07-24usb: host: Faraday fotg210-hcd driverYuan-Hsin Chen4-0/+6812
FOTG210 is an OTG controller which can be configured as an USB2.0 host. FOTG210 host is an ehci-like controller with some differences. First, register layout of FOTG210 is incompatible with EHCI. Furthermore, FOTG210 is lack of siTDs which means iTDs are used for both HS and FS ISO transfer. Signed-off-by: Yuan-Hsin Chen <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-24USB: isp1362: move debug files from proc to debugfsGreg Kroah-Hartman2-35/+12
Drivers should not be putting debug files in /proc/ that is what debugfs is for, so move the isp1362 driver's debug file to debugfs. Reviewed-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-24USB: sl811: move debug files from proc to debugfsGreg Kroah-Hartman2-28/+12
Drivers should not be putting debug files in /proc/ that is what debugfs is for, so move the sl811 driver's debug file to debugfs. Reviewed-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-24Merge tag 'for-usb-next-2013-07-23' of ↵Greg Kroah-Hartman7-177/+187
git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-next Sarah writes: xhci: Features for 3.12 In the spirit of "let's stop gossiping around the water cooler and get to work", here's some xHCI patches for 3.12. They include a patch for suspend/resume support for xhci platform hosts, two patches to support showing USB 2.1 link status, and a patch to future-proof the Intel EHCI to xHCI port switchover. Sarah Sharp
2013-07-23USB: sl811: remove CONFIG_USB_DEBUG dependencyGreg Kroah-Hartman2-46/+42
This removes the dependency of the driver on CONFIG_USB_DEBUG and moves it to us the dynamic debug subsystem instead. Bonus is the fact that we can now properly determine the exact hardware that is spitting out the messages. This lets debugging be enabled without having to rebuild the driver, an important thing for users that can not do it. Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: isp116x: remove dependency on CONFIG_USB_DEBUGGreg Kroah-Hartman1-12/+1
Move all debugging messages in the driver to use the dynamic debug subsystem, and not rely on CONFIG_USB_DEBUG to turn them on or off. This lets debugging be enabled without having to rebuild the driver, an important thing for users that can not do it. It also removes the pointless IRQ_TEST() macro, as that was totally useless and obviously never used. Cc: Olav Kongas <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: isp1362: remove CONFIG_USB_DEBUG dependencyGreg Kroah-Hartman2-17/+5
Now that the debugging macros are cleaned up, just rely on the dynamic debug code in the kernel to do the debug messages for the driver. This lets debugging be enabled without having to rebuild the driver, an important thing for users that can not do it. Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: isp1362: remove _DBG() usageGreg Kroah-Hartman2-21/+15
If you want a debug call, just make it, so move to using the already-there DBG() call. No need to make things more complex than they really need to be. Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: isp1362: remove unused _WARN_ON() callsGreg Kroah-Hartman1-9/+0
Like _BUG_ON(), _WARN_ON() wasn't ever being used, so just delete it, as obviously things are working properly now (if not, we have bigger problems...) Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23USB: isp1362: remove unused _BUG_ON() callsGreg Kroah-Hartman2-22/+0
We shouldn't ever panic in a driver, and these calls were never being used, so just delete them, as obviously the driver is working properly now (right?) Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-23xhci: Correct misplaced newlinesJoe Perches1-5/+5
Logging messages end in newlines, not have them put in the middle of messages. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Sarah Sharp <[email protected]>
2013-07-23Intel xhci: refactor EHCI/xHCI port switchingMathias Nyman4-80/+27
Make the Linux xHCI driver automatically try to switchover the EHCI ports to xHCI when an Intel xHCI host is detected, and it also finds an Intel EHCI host. This means we will no longer have to add Intel xHCI hosts to a quirks list when the PCI device IDs change. Simply continuing to add new Intel xHCI PCI device IDs to the quirks list is not sustainable. During suspend ports may be swicthed back to EHCI by BIOS and not properly restored to xHCI at resume. Previously both EHCI and xHCI resume functions switched ports back to XHCI, but it's enough to do it in xHCI only because the hub driver doesn't start running again until after both hosts are resumed. Signed-off-by: Mathias Nyman <[email protected]> Signed-off-by: Sarah Sharp <[email protected]>
2013-07-23xhci: Report USB 2.1 link status for L1Sarah Sharp1-3/+12
USB 2.1 devices can go into a lower power link state, L1. When they are active, they are in the L0 state. The L1 transition can be purely driven by software, or some USB host controllers (including some xHCI 1.0 hosts) allow the host hardware to track idleness and automatically place a port into L1. The USB 2.1 Link Power Management ECN gives a way for USB 2.1 hubs that support LPM to report that a port is in L1. The port status bit 5 will be set when the port is in L1. The xHCI host reports the root port as being in 'U2' when the devices is in L1, and as being in 'U0' when the port is active (in L0). Translate the xHCI USB 2.1 link status into the format external hubs use, and pass the L1 status up to the USB core and tools like lsusb. Signed-off-by: Sarah Sharp <[email protected]>
2013-07-23xhci: Refactor port status into a new function.Sarah Sharp1-91/+119
The hub control function is *way* too long. Refactor it into a new function, and document the side effects of calling that function. Signed-off-by: Sarah Sharp <[email protected]>
2013-07-23usb: xhci: add the suspend/resume functionalityVikas Sajjan1-0/+26
Adds power management support to xHCI platform driver. This patch facilitates the transition of xHCI host controller between S0 and S3/S4 power states, during suspend/resume cycles. Signed-off-by: Abhilash Kesavan <[email protected]> Signed-off-by: Vikas C Sajjan <[email protected]> CC: Doug Anderson <[email protected]> Signed-off-by: Felipe Balbi <[email protected]> Signed-off-by: Sarah Sharp <[email protected]>
2013-07-22USB: EHCI: Fix resume signalling on remote wakeupRoger Quadros1-0/+1
Set the ehci->resuming flag for the port we receive a remote wakeup on so that resume signalling can be completed. Without this, the root hub timer will not fire again to check if the resume was completed and there will be a never-ending wait on on the port. This effect is only observed if the HUB IRQ IN does not come after we have initiated the port resume. Signed-off-by: Roger Quadros <[email protected]> Cc: stable <[email protected]> Acked-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-07-13Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linusLinus Torvalds1-2/+2
Pull MIPS updates from Ralf Baechle: "MIPS updates: - All the things that didn't make 3.10. - Removes the Windriver PPMC platform. Nobody will miss it. - Remove a workaround from kernel/irq/irqdomain.c which was there exclusivly for MIPS. Patch by Grant Likely. - More small improvments for the SEAD 3 platform - Improvments on the BMIPS / SMP support for the BCM63xx series. - Various cleanups of dead leftovers. - Platform support for the Cavium Octeon-based EdgeRouter Lite. Two large KVM patchsets didn't make it for this pull request because their respective authors are vacationing" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (124 commits) MIPS: Kconfig: Add missing MODULES dependency to VPE_LOADER MIPS: BCM63xx: CLK: Add dummy clk_{set,round}_rate() functions MIPS: SEAD3: Disable L2 cache on SEAD-3. MIPS: BCM63xx: Enable second core SMP on BCM6328 if available MIPS: BCM63xx: Add SMP support to prom.c MIPS: define write{b,w,l,q}_relaxed MIPS: Expose missing pci_io{map,unmap} declarations MIPS: Malta: Update GCMP detection. Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET" MIPS: APSP: Remove <asm/kspd.h> SSB: Kconfig: Amend SSB_EMBEDDED dependencies MIPS: microMIPS: Fix improper definition of ISA exception bit. MIPS: Don't try to decode microMIPS branch instructions where they cannot exist. MIPS: Declare emulate_load_store_microMIPS as a static function. MIPS: Fix typos and cleanup comment MIPS: Cleanup indentation and whitespace MIPS: BMIPS: support booting from physical CPU other than 0 MIPS: Only set cpu_has_mmips if SYS_SUPPORTS_MICROMIPS MIPS: GIC: Fix gic_set_affinity infinite loop MIPS: Don't save/restore OCTEON wide multiplier state on syscalls. ...
2013-07-02Merge tag 'soc-for-linus' of ↵Linus Torvalds2-1/+7
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC specific changes from Arnd Bergmann: "These changes are all to SoC-specific code, a total of 33 branches on 17 platforms were pulled into this. Like last time, Renesas sh-mobile is now the platform with the most changes, followed by OMAP and EXYNOS. Two new platforms, TI Keystone and Rockchips RK3xxx are added in this branch, both containing almost no platform specific code at all, since they are using generic subsystem interfaces for clocks, pinctrl, interrupts etc. The device drivers are getting merged through the respective subsystem maintainer trees. One more SoC (u300) is now multiplatform capable and several others (shmobile, exynos, msm, integrator, kirkwood, clps711x) are moving towards that goal with this series but need more work. Also noteworthy is the work on PCI here, which is traditionally part of the SoC specific code. With the changes done by Thomas Petazzoni, we can now more easily have PCI host controller drivers as loadable modules and keep them separate from the platform code in drivers/pci/host. This has already led to the discovery that three platforms (exynos, spear and imx) are actually using an identical PCIe host controller and will be able to share a driver once support for spear and imx is added." * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (480 commits) ARM: integrator: let pciv3 use mem/premem from device tree ARM: integrator: set local side PCI addresses right ARM: dts: Add pcie controller node for exynos5440-ssdk5440 ARM: dts: Add pcie controller node for Samsung EXYNOS5440 SoC ARM: EXYNOS: Enable PCIe support for Exynos5440 pci: Add PCIe driver for Samsung Exynos ARM: OMAP5: voltagedomain data: remove temporary OMAP4 voltage data ARM: keystone: Move CPU bringup code to dedicated asm file ARM: multiplatform: always pick one CPU type ARM: imx: select syscon for IMX6SL ARM: keystone: select ARM_ERRATA_798181 only for SMP ARM: imx: Synertronixx scb9328 needs to select SOC_IMX1 ARM: OMAP2+: AM43x: resolve SMP related build error dmaengine: edma: enable build for AM33XX ARM: edma: Add EDMA crossbar event mux support ARM: edma: Add DT and runtime PM support to the private EDMA API dmaengine: edma: Add TI EDMA device tree binding arm: add basic support for Rockchip RK3066a boards arm: add debug uarts for rockchip rk29xx and rk3xxx series arm: Add basic clocks for Rockchip rk3066a SoCs ...
2013-06-25xhci: Add missing unlocks on error pathsEmil Goode1-0/+2
This patch adds missing unlocks on error paths in the xhci_free_streams and xhci_configure_endpoint functions. Signed-off-by: Emil Goode <[email protected]> Signed-off-by: Sarah Sharp <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-24ehci-atmel.c: prepare clk before calling enableBoris BREZILLON1-4/+4
Replace clk_enable/disable with clk_prepare_enable/disable_unprepare to avoid common clk framework warnings. Signed-off-by: Boris BREZILLON <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-24USB: ohci-at91: prepare clk before calling enableBoris BREZILLON1-6/+6
Replace clk_enable/disable with clk_prepare_enable/disable_unprepare to avoid common clk framework warnings. Signed-off-by: Boris BREZILLON <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-24USB: HWA: fix device probe failureThomas Pugliese1-8/+3
This patch fixes a race condition that caused the HWA_HC interface probe function to occasionally fail. The HWA_HC would attempt to register itself with the HWA_RC by searching for a uwb_rc class device with the same parent device ptr. If the probe function for the HWA_RC interface had yet to run, the uwb_rc class device would not have been created causing the look up to fail and the HWA_HC probe function to return an error causing the device to be unusable. The fix is for the HWA to delay registering with the HWA_RC until receiving the command from userspace to start the wireless channel. It is the responsibility of userspace to ensure that the uwb_rc class device has been created before starting the HWA channel. Signed-off-by: Thomas Pugliese <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-24usb: host: xhci-plat: release mem region while removing moduleGeorge Cherian1-0/+1
Do a release_mem_region of the hcd resource. Without this the subsequent insertion of module fails in request_mem_region. Signed-off-by: George Cherian <[email protected]> Acked-by: Felipe Balbi <[email protected]> Cc: stable <[email protected]> # 3.4+ Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-20Merge tag 'remove-nondt-exynos-3' of ↵Arnd Bergmann1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc From Kukjin Kim: cleanup and removing dead code for only support DT for exynos - remove board file for exynos - remove legacy files which are not used anymore - decouple ARCH_EXYNOS from PLAT_S5P * tag 'remove-nondt-exynos-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (35 commits) ARM: EXYNOS: Remove remaining dead code after non-DT support removal ARM: EXYNOS: Remove legacy L2X0 initialization ARM: EXYNOS: Use exynos_init_io() as map_io callback ARM: EXYNOS: Remove custom init_irq callbacks ARM: EXYNOS: Remove mach/regs-usb-phy.h header thermal: exynos: Support both EXYNOS4X12 SoCs ARM: EXYNOS: Remove unused base addresses from mach/map.h header ARM: EXYNOS: Remove mach/irqs.h header ARM: EXYNOS: Select SPARSE_IRQ for Exynos ARM: SAMSUNG: Make legacy MFC support code depend on SAMSUNG_ATAGS ARM: EXYNOS: Remove mach/regs-gpio.h header ARM: EXYNOS: Remove mach/gpio.h ARM: EXYNOS: Remove setup-i2c0.c ARM: EXYNOS: Do not select legacy Kconfig symbols any more ARM: SAMSUNG: Include most of mach/ headers conditionally ARM: EXYNOS: Decouple ARCH_EXYNOS from PLAT_S5P USB: Check for ARCH_EXYNOS separately platform: Check for ARCH_EXYNOS separately ARM: SAMSUNG: Compile legacy IRQ and GPIO PM code only with ATAGS support ARM: EXYNOS: Provide compatibility stubs for PM code in pm-core.h header ... Conflicts: arch/arm/mach-exynos/Kconfig Signed-off-by: Arnd Bergmann <[email protected]>
2013-06-18xhci: check for failed dma pool allocationMathias Nyman1-0/+4
Fail and free the container context in case dma_pool_alloc() can't allocate the raw context data part of it This patch should be backported to kernels as old as 2.6.31, that contain the commit d115b04818e57bdbc7ccde4d0660b15e33013dc8 "USB: xhci: Support for 64-byte contexts". Signed-off-by: Mathias Nyman <[email protected]> Signed-off-by: Sarah Sharp <[email protected]> Cc: John Youn <[email protected]> Cc: [email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-18Merge tag 'for-usb-next-2013-06-17' of ↵Greg Kroah-Hartman4-67/+151
git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-next Sarah writes: xhci: Remove BUG() calls from the driver. Hi Greg, This patchset removes instances of BUG() from the xHCI driver. It adds code to gracefully handle failures by returning standard error values, and changing the driver to handle those failure cases. These are against Greg's usb-next branch, and are not marked for stable. Please queue for 3.11. Sarah Sharp
2013-06-19USB: Check for ARCH_EXYNOS separatelyTomasz Figa1-1/+1
ARCH_EXYNOS is going to be excluded from PLAT_S5P, so it must be checked separately in Exynos-related Kconfig entries. Signed-off-by: Tomasz Figa <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2013-06-17USB: EHCI: Remove double assignment of .start in ehci_msp_hc_driverEmil Goode1-2/+1
This patch removes a double assignment of .start in struct hc_driver ehci_msp_hc_driver and also makes the code look more tidy. Signed-off-by: Emil Goode <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-17USB: ehci-omap: Tweak PHY initialization sequenceRoger Quadros1-2/+9
For PHY mode, the PHYs must be brought out of reset before the EHCI controller is started. This patch fixes the issue where USB devices are not found on Beagleboard/Beagle-xm if USB has been started previously by the bootloader. (e.g. by "usb start" command in u-boot) Tested on Beagleboard, Beagleboard-xm and Pandaboard. Issue present on 3.10 onwards. Reported-by: Tomi Valkeinen <[email protected]> Tested-by: Tomi Valkeinen <[email protected]> Signed-off-by: Roger Quadros <[email protected]> Cc: stable <[email protected]> # 3.10 Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-17USB: EHCI: tegra: Fix oops in error cleanupThierry Reding1-3/+3
Under some circumstances it happens that the connected PHY can't be powered up properly, in which case the cleanup path currently crashes because it checks the tegra->transceiver field using !IS_ERR(), which will succeed because it is in fact NULL. Dereferencing that pointer causes an oops in tegra_ehci_probe(). This patch fixes the issue by adding an additional label into the cleanup path to separately take down the PHY and the transceiver. Signed-off-by: Thierry Reding <[email protected]> Reviewed-by: Stephen Warren <[email protected]> Acked-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-17USB: EHCI: tegra: make use of ehci->privStephen Warren1-35/+35
Rather than allocating struct tegra_ehci_hcd separately, use struct ehci_hcd's priv field instead. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Alan Stern <[email protected]> Tested-by: Thierry Reding <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-17USB: EHCI: make ehci-tegra a separate driverManjunath Goudar4-60/+76
Separate the Tegra on-chip host controller driver from ehci-hcd host code so that it can be built as a separate driver module. This work is part of enabling multi-platform kernels on ARM. Signed-off-by: Manjunath Goudar <[email protected]> [swarren, reworked Manjunath's patches to split them more logically, minor re-order of added lines to better match layout of other split-up HCD drivers and existing code, add MODULE_DEVICE_TABLE, fix MODULE_LICENSE, adapted to change in earlier patches which removed the ehci_driver_overrides addition, removed all PM code and solved circular dependencies.] Signed-off-by: Stephen Warren <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Alan Stern <[email protected]> Tested-by: Thierry Reding <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-17USB: EHCI: tegra: fix circular module dependenciesStephen Warren1-36/+0
The Tegra EHCI driver directly calls various functions in the Tegra USB PHY driver. The reverse is also true; the PHY driver calls into the EHCI driver. This is problematic when the two are built as modules. The calls from the PHY to EHCI driver were originally added in commit bbdabdb "usb: add APIs to access host registers from Tegra PHY", for the following reasons: 1) The register being touched is an EHCI register, so logically only the EHCI driver should touch it. 2) (1) implies that some locking may be needed to correctly implement the r/m/w access to this shared register. 3) We were expecting to pass only the PHY register space to the Tegra PHY driver, and hence it would not have access to touch the shared registers. To solve this, that commit added functions in the EHCI driver to touch the shared register on behalf of the PHY driver. In practice, we ended up not having any locking in the implementaiton of those functions, and I've been led to believe this is safe. Equally, (3) did not happen either. Hence, it is possible for the PHY driver to touch the shared register directly. Given that, this patch moves the code to touch the shared register back into the PHY driver, to eliminate the module problems. If we actually need locking or co-ordination in the future, I propose we put the lock support into some pre-existing core module, or into a third separate module, in order to avoid the circular dependencies. I apologize for my contribution to code churn here. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Alan Stern <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Tested-by: Thierry Reding <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-17USB: EHCI: tegra: remove all power managementStephen Warren1-245/+1
The PM routines in ehci-tegra.c use APIs such as ehci_reset(), ehci_halt(), and ehci_tdi_reset() that would need to be exported to convert ehci-tegra.c into a separate module from ehci-hcd.c. However, we'd prefer not to export them. Instead, simply remove all power management functionality. Runtime PM was disabled since it didn't work correctly, and system suspend isn't yet supported in a meaningful way. So, this change doesn't lose any functionality. Hopefully the power management logic can be reimplemented in a cleaner way in the future. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Alan Stern <[email protected]> Tested-by: Thierry Reding <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-17USB: EHCI: export ehci_handshake for ehci-hcd sub-driversManjunath Goudar4-15/+20
In order to split ehci-hcd.c into separate modules, handshake() must be exported. Rename the symbol to add an ehci_ prefix, to avoid any naming clashes. Signed-off-by: Manjunath Goudar <[email protected]> [swarren, split Manjunath's patches more logically, limit this change to export just handshake()] Signed-off-by: Stephen Warren <[email protected]> Acked-by: Alan Stern <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Tested-by: Thierry Reding <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-17usb: wire adapter: add scatter gather supportThomas Pugliese1-0/+1
This patch adds support for scatter gather DMA to the wire adapter and updates the HWA to advertise support for SG transfers. This allows the block layer to submit transfer requests to the HWA HC without first breaking them up into PAGE_SIZE requests. Signed-off-by: Thomas Pugliese <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-14Merge tag 'renesas-phy-rcar-usb-for-v3.11' of ↵Olof Johansson1-0/+6
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc From Simon Horman: Renesas USB updates for v3.11 These updates are by Sergei Shtylyov to clean-up USB support present for R8A7779/Marzen and then extend USB support coverage to R8A7778/BOCK-W. * tag 'renesas-phy-rcar-usb-for-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: BOCK-W: add USB support ARM: shmobile: r8a7778: add USB support phy-rcar-usb: add R8A7778 support phy-rcar-usb: handle platform data ARM: shmobile: Marzen: pass platform data to USB PHY device phy-rcar-usb: add platform data phy-rcar-usb: correct base address ARM: shmobile: r8a7779: remove USB PHY 2nd memory resource phy-rcar-usb: remove EHCI internal buffer setup ARM: shmobile: r8a7779: setup EHCI internal buffer ehci-platform: add pre_setup() method to platform data ARM: shmobile: Marzen: move USB EHCI, OHCI, and PHY devices to R8A7779 code Conflicts: arch/arm/mach-shmobile/board-marzen.c arch/arm/mach-shmobile/setup-r8a7778.c Signed-off-by: Olof Johansson <[email protected]>
2013-06-14xhci: remove BUG() in xhci_get_endpoint_type()Mathias Nyman1-5/+9
If the endpoint type is unknown, set it to 0 and fail gracefully instead of causing a kernel panic. Signed-off-by: Mathias Nyman <[email protected]> Signed-off-by: Sarah Sharp <[email protected]>
2013-06-14xhci: Remove BUG in xhci_setup_addressable_virt_devMathias Nyman1-25/+10
We may have more speed types in the future, so fail gracefully, rather than causing the kernel to panic. BUG() was called if the device speed was unknown when setting max packet size. Set the max packet size at the same time as the slot speed and get rid of one switch statement with BUG() option completely. [Note: Sarah merged a patch that she wrote that touched the xhci_setup_addressable_virt_dev function with this patch from Mathias for clarity.] Signed-off-by: Mathias Nyman <[email protected]> Signed-off-by: Sarah Sharp <[email protected]>
2013-06-14xhci: Remove BUG_ON in xhci_get_input_control_ctx.Sarah Sharp4-35/+126
Fail gracefully, instead of causing the kernel to panic, if the input control context doesn't have the right type (XHCI_CTX_TYPE_INPUT). Push finding the pointer to the input control context up into functions that can fail. Signed-off-by: Sarah Sharp <[email protected]> Cc: John Youn <[email protected]>
2013-06-14xhci: Remove BUG_ON() in xhci_alloc_container_ctx.Sarah Sharp1-2/+6
It's horrible coding style to panic the kernel when someone passes you an argument value you didn't expect. In the future, we may want to add additional context types, so it's better to gracefully handle additional context types instead of panicking. Signed-off-by: Sarah Sharp <[email protected]> Cc: John Youn <[email protected]>
2013-06-12Merge tag 'usb-for-v3.11' of ↵Greg Kroah-Hartman1-60/+45
git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: patches for v3.11 merge window All function drivers are now converted to our new configfs-based binding. Eventually this will help us getting rid of in-kernel gadget drivers and only keep function drivers in the kernel. MUSB was taught that it needs to be built for host-only and device-only modes too. We had this support long ago but it involved a ridiculous amount of ifdefs. Now we have a much cleaner approach. Samsung Exynos4 platform now implements HSIC support. We're introducing support for AB8540 and AB9540 PHYs. MUSB module reinsertion now works as expected, before we were getting -EBUSY being returned by the resource checks done on driver core. DWC3 now has minimum support for TI's AM437x series of SoCs. OMAP5 USB3 PHY learned one extra DPLL configuration values because that PHY is reused in TI's DRA7xx devices. We're introducing support for Faraday fotg210 UDCs. Last, but not least, the usual set of non-critical fixes and cleanups ranging from usage of platform_{get,set}_drvdata to lock improvements. Signed-of-by: Felipe Balbi <[email protected]>
2013-06-11ehci-platform: add pre_setup() method to platform dataSergei Shtylyov1-0/+6
Sometimes there is a need to initialize some non-standard registers mapped to the EHCI region before accessing the standard EHCI registers. Add pre_setup() method with 'struct usb_hcd *' parameter to be called just before ehci_setup() to the 'ehci-platform' driver's platform data for this purpose... While at it, add the missing incomplete declaration of 'struct platform_device' to <linux/usb/ehci_pdriver.h>... The patch has been tested on the Marzen and BOCK-W boards. Suggested-by: Alan Stern <[email protected]> Signed-off-by: Sergei Shtylyov <[email protected]> Acked-by: Kuninori Morimoto <[email protected]> Acked-by: Alan Stern <[email protected]> Signed-off-by: Simon Horman <[email protected]>
2013-06-10MIPS: OCTEON: Rename Kconfig CAVIUM_OCTEON_REFERENCE_BOARD to CAVIUM_OCTEON_SOCDavid Daney1-2/+2
CAVIUM_OCTEON_SOC most place we used to use CPU_CAVIUM_OCTEON. This allows us to CPU_CAVIUM_OCTEON in places where we have no OCTEON SOC. Remove CAVIUM_OCTEON_SIMULATOR as it doesn't really do anything, we can get the same configuration with CAVIUM_OCTEON_SOC. Signed-off-by: David Daney <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Acked-by: Greg Kroah-Hartman <[email protected]> Acked-by: Wolfram Sang <[email protected]> Acked-by: Mauro Carvalho Chehab <[email protected]> Patchwork: https://patchwork.linux-mips.org/patch/5295/ Signed-off-by: Ralf Baechle <[email protected]>
2013-06-08Merge 3.10-rc5 into usb-nextGreg Kroah-Hartman5-8/+38
We need the changes in this branch. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-06Merge tag 'for-usb-next-2013-06-06' of ↵Greg Kroah-Hartman7-85/+255
git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-next Sarah writes: xHCI: USB 2.0 Link PM and misc cleanup patches Hi Greg, Here's six patches to be queued for 3.11. The first four add support for a new type of host hardware-managed USB 2.0 Link Power Management. Hosts with BESL support, including Intel Haswell ULT systems, will now be able to have USB 2.0 devices go into the lower power link state (L1) in between packets. These patches have been tested on Haswell ULT platforms with USB 2.0 webcams that support Link PM. The other two patches are clean up. One from Julius clarifies the xHCI endpoint context debugging to make it consistent with standard endpoint addresses, instead of xHCI endpoint context indexes. The one from Alex changes the xHCI driver to be consistent about passing a void pointer to the xHCI IRQ handler. Sarah Sharp
2013-06-06wusbhc: disable suspend and resume on the root hub.Thomas Pugliese2-4/+0
Suspend and resume are not currently supported on the wireless root hub. Remove the suspend and resume op functions in the host controller driver to avoid constant error messages in the system log. Signed-off-by: Thomas Pugliese <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-06usb: host: make USB_ARCH_HAS_?HCI obsoleteArnd Bergmann1-3/+0
The three options USB_ARCH_HAS_{EHCI,OHCI,XHCI} are all well beyond their recommended shelf life. They have caused numerous build failures over the years because they are never completely correct, and with the move to splitting out the platform specific back-ends out of the driver, there is no real need for them any more. Also, the use of making USB_ARCH_HAS_HCD depend on it is questionable since one can always enable dummy_hc these days. This patch enables them unconditionally for all platforms and architectures, which means it is now possible to build host controller drivers for machines that are known not to come with this hardware, but that is just how we treat most other drivers. In order to minimise the impact on existing architecture code and defconfig files, all the Kconfig are left present for now. All platforms that currently do 'select USB_ARCH_HAS_*' should subsequently be changed not to select that. All drivers depending on USB_ARCH_HAS_HCD should be changed to depend on USB_SUPPORT instead. Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Alan Stern <[email protected]> Cc: Sarah Sharp <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-06USB: OHCI: remove bogus #errorArnd Bergmann1-20/+0
The OHCI host controller driver can be built standalone now, without enabling any of the available bus glue drivers, so there is not really a reason to error out here: drivers/usb/host/ohci-hcd.c:1258: error: #error "missing bus glue for ohci-hcd" #error "missing bus glue for ohci-hcd" This follows the same change done in ehci recently as 843e56c0 "USB: EHCI: remove bogus #error" and hopefully avoids future merge conflicts in this list. Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-06-05usb: add usb2 Link PM variables to sysfs and usb_deviceMathias Nyman1-2/+4
Adds abitilty to tune L1 timeout (inactivity timer for usb2 link sleep) and BESL (best effort service latency)via sysfs. This also adds a new usb2_lpm_parameters structure with those variables to struct usb_device. Signed-off-by: Mathias Nyman <[email protected]> Signed-off-by: Sarah Sharp <[email protected]>