Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe250923 authored by Linus Torvalds's avatar Linus Torvalds
Browse files


USB fixes for 3.3-rc3

Here are a few minor USB fixes and a bunch of device id updates for the
USB drivers.

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>

* tag 'usb-3.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  USB: usbserial: add new PID number (0xa951) to the ftdi driver
  usb: ch9.h: usb_endpoint_maxp() uses __le16_to_cpu()
  usb: musb: fix a build error on mips
  uwb & wusb & usb wireless controllers: fix kconfig error & build errors
  usb: Skip PCI USB quirk handling for Netlogic XLP
  powerpc/usb: fix issue of CPU halt when missing USB PHY clock
  usb: otg: mv_otg: Add dependence
  usb: host: Distinguish Kconfig text for Freescale controllers
  USB: add new zte 3g-dongle's pid to option.c
  usb: ch9.h: usb_endpoint_maxp() uses __le16_to_cpu()
  USB: qcserial: don't enable autosuspend
  USB: qcserial: add several new serial devices
  usb: otg: mv_otg: Add dependence
  usb: gadget: zero: fix bug in loopback autoresume handling
parents 690d137f 90451e69
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -418,7 +418,7 @@ int __init loopback_add(struct usb_composite_dev *cdev, bool autoresume)

	/* support autoresume for remote wakeup testing */
	if (autoresume)
		sourcesink_driver.bmAttributes |= USB_CONFIG_ATT_WAKEUP;
		loopback_driver.bmAttributes |= USB_CONFIG_ATT_WAKEUP;

	/* support OTG systems */
	if (gadget_is_otg(cdev->gadget)) {
+4 −4
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ config USB_FSL_MPH_DR_OF
	tristate

config USB_EHCI_FSL
	bool "Support for Freescale on-chip EHCI USB controller"
	bool "Support for Freescale PPC on-chip EHCI USB controller"
	depends on USB_EHCI_HCD && FSL_SOC
	select USB_EHCI_ROOT_HUB_TT
	select USB_FSL_MPH_DR_OF if OF
@@ -138,7 +138,7 @@ config USB_EHCI_FSL
	  Variation of ARC USB block used in some Freescale chips.

config USB_EHCI_MXC
	bool "Support for Freescale on-chip EHCI USB controller"
	bool "Support for Freescale i.MX on-chip EHCI USB controller"
	depends on USB_EHCI_HCD && ARCH_MXC
	select USB_EHCI_ROOT_HUB_TT
	---help---
@@ -546,7 +546,7 @@ config USB_RENESAS_USBHS_HCD
config USB_WHCI_HCD
	tristate "Wireless USB Host Controller Interface (WHCI) driver (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	depends on PCI && USB
	depends on PCI && USB && UWB
	select USB_WUSB
	select UWB_WHCI
	help
@@ -559,7 +559,7 @@ config USB_WHCI_HCD
config USB_HWA_HCD
	tristate "Host Wire Adapter (HWA) driver (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	depends on USB
	depends on USB && UWB
	select USB_WUSB
	select UWB_HWA
	help
+9 −2
Original line number Diff line number Diff line
@@ -239,7 +239,7 @@ static void ehci_fsl_setup_phy(struct ehci_hcd *ehci,
	ehci_writel(ehci, portsc, &ehci->regs->port_status[port_offset]);
}

static void ehci_fsl_usb_setup(struct ehci_hcd *ehci)
static int ehci_fsl_usb_setup(struct ehci_hcd *ehci)
{
	struct usb_hcd *hcd = ehci_to_hcd(ehci);
	struct fsl_usb2_platform_data *pdata;
@@ -299,12 +299,19 @@ static void ehci_fsl_usb_setup(struct ehci_hcd *ehci)
#endif
		out_be32(non_ehci + FSL_SOC_USB_SICTRL, 0x00000001);
	}

	if (!(in_be32(non_ehci + FSL_SOC_USB_CTRL) & CTRL_PHY_CLK_VALID)) {
		printk(KERN_WARNING "fsl-ehci: USB PHY clock invalid\n");
		return -ENODEV;
	}
	return 0;
}

/* called after powerup, by probe or system-pm "wakeup" */
static int ehci_fsl_reinit(struct ehci_hcd *ehci)
{
	ehci_fsl_usb_setup(ehci);
	if (ehci_fsl_usb_setup(ehci))
		return -ENODEV;
	ehci_port_power(ehci, 0);

	return 0;
+1 −0
Original line number Diff line number Diff line
@@ -45,5 +45,6 @@
#define FSL_SOC_USB_PRICTRL	0x40c	/* NOTE: big-endian */
#define FSL_SOC_USB_SICTRL	0x410	/* NOTE: big-endian */
#define FSL_SOC_USB_CTRL	0x500	/* NOTE: big-endian */
#define CTRL_PHY_CLK_VALID	(1 << 17)
#define SNOOP_SIZE_2GB		0x1e
#endif				/* _EHCI_FSL_H */
+6 −0
Original line number Diff line number Diff line
@@ -867,6 +867,12 @@ static void __devinit quirk_usb_handoff_xhci(struct pci_dev *pdev)

static void __devinit quirk_usb_early_handoff(struct pci_dev *pdev)
{
	/* Skip Netlogic mips SoC's internal PCI USB controller.
	 * This device does not need/support EHCI/OHCI handoff
	 */
	if (pdev->vendor == 0x184e)	/* vendor Netlogic */
		return;

	if (pdev->class == PCI_CLASS_SERIAL_USB_UHCI)
		quirk_usb_handoff_uhci(pdev);
	else if (pdev->class == PCI_CLASS_SERIAL_USB_OHCI)
Loading