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

Commit 09091a4d authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge 3.4-rc4 into usb-next.



This resolves the conflict in:
	drivers/usb/host/ehci-fsl.c
And picks up loads of xhci bugfixes to make it easier for others to test
with.

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parents 66f75a5d 3a1c2a82
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
ST SPEAr SoC USB controllers:
-----------------------------

EHCI:
-----

Required properties:
- compatible: "st,spear600-ehci"
- interrupt-parent: Should be the phandle for the interrupt controller
  that services interrupts for this device
- interrupts: Should contain the EHCI interrupt

Example:

	ehci@e1800000 {
		compatible = "st,spear600-ehci", "usb-ehci";
		reg = <0xe1800000 0x1000>;
		interrupt-parent = <&vic1>;
		interrupts = <27>;
	};


OHCI:
-----

Required properties:
- compatible: "st,spear600-ohci"
- interrupt-parent: Should be the phandle for the interrupt controller
  that services interrupts for this device
- interrupts: Should contain the OHCI interrupt

Example:

	ohci@e1900000 {
		compatible = "st,spear600-ohci", "usb-ohci";
		reg = <0xe1800000 0x1000>;
		interrupt-parent = <&vic1>;
		interrupts = <26>;
	};
+18 −1
Original line number Diff line number Diff line
@@ -297,6 +297,23 @@ static int bcma_get_next_core(struct bcma_bus *bus, u32 __iomem **eromptr,
			return -EILSEQ;
	}

	/* First Slave Address Descriptor should be port 0:
	 * the main register space for the core
	 */
	tmp = bcma_erom_get_addr_desc(bus, eromptr, SCAN_ADDR_TYPE_SLAVE, 0);
	if (tmp <= 0) {
		/* Try again to see if it is a bridge */
		tmp = bcma_erom_get_addr_desc(bus, eromptr,
					      SCAN_ADDR_TYPE_BRIDGE, 0);
		if (tmp <= 0) {
			return -EILSEQ;
		} else {
			pr_info("Bridge found\n");
			return -ENXIO;
		}
	}
	core->addr = tmp;

	/* get & parse slave ports */
	for (i = 0; i < ports[1]; i++) {
		for (j = 0; ; j++) {
@@ -309,7 +326,7 @@ static int bcma_get_next_core(struct bcma_bus *bus, u32 __iomem **eromptr,
				break;
			} else {
				if (i == 0 && j == 0)
					core->addr = tmp;
					core->addr1 = tmp;
			}
		}
	}
+3 −3
Original line number Diff line number Diff line
@@ -782,20 +782,20 @@ static int __init asus_oled_init(void)
	oled_class = class_create(THIS_MODULE, ASUS_OLED_UNDERSCORE_NAME);

	if (IS_ERR(oled_class)) {
		err("Error creating " ASUS_OLED_UNDERSCORE_NAME " class");
		printk(KERN_ERR "Error creating " ASUS_OLED_UNDERSCORE_NAME " class\n");
		return PTR_ERR(oled_class);
	}

	retval = class_create_file(oled_class, &class_attr_version.attr);
	if (retval) {
		err("Error creating class version file");
		printk(KERN_ERR "Error creating class version file\n");
		goto error;
	}

	retval = usb_register(&oled_driver);

	if (retval) {
		err("usb_register failed. Error number %d", retval);
		printk(KERN_ERR "usb_register failed. Error number %d\n", retval);
		goto error;
	}

+9 −7
Original line number Diff line number Diff line
@@ -547,7 +547,7 @@ static void dt9812_configure_gain(struct usb_dt9812 *dev,
		rmw->or_value = F020_MASK_ADC0CF_AMP0GN2;
		break;
	default:
		err("Illegal gain %d\n", gain);
		dev_err(&dev->interface->dev, "Illegal gain %d\n", gain);

	}
}
@@ -715,7 +715,7 @@ static int dt9812_probe(struct usb_interface *interface,
	iface_desc = interface->cur_altsetting;

	if (iface_desc->desc.bNumEndpoints != 5) {
		err("Wrong number of endpints.");
		dev_err(&interface->dev, "Wrong number of endpoints.\n");
		retval = -ENODEV;
		goto error;
	}
@@ -781,22 +781,22 @@ static int dt9812_probe(struct usb_interface *interface,
	}

	if (dt9812_read_info(dev, 1, &dev->vendor, sizeof(dev->vendor)) != 0) {
		err("Failed to read vendor.");
		dev_err(&interface->dev, "Failed to read vendor.\n");
		retval = -ENODEV;
		goto error;
	}
	if (dt9812_read_info(dev, 3, &dev->product, sizeof(dev->product)) != 0) {
		err("Failed to read product.");
		dev_err(&interface->dev, "Failed to read product.\n");
		retval = -ENODEV;
		goto error;
	}
	if (dt9812_read_info(dev, 5, &dev->device, sizeof(dev->device)) != 0) {
		err("Failed to read device.");
		dev_err(&interface->dev, "Failed to read device.\n");
		retval = -ENODEV;
		goto error;
	}
	if (dt9812_read_info(dev, 7, &dev->serial, sizeof(dev->serial)) != 0) {
		err("Failed to read serial.");
		dev_err(&interface->dev, "Failed to read serial.\n");
		retval = -ENODEV;
		goto error;
	}
@@ -1146,7 +1146,9 @@ static int __init usb_dt9812_init(void)
	result = comedi_driver_register(&dt9812_comedi_driver);
	if (result) {
		usb_deregister(&dt9812_usb_driver);
		err("comedi_driver_register failed. Error number %d", result);
		printk(KERN_ERR KBUILD_MODNAME
			": comedi_driver_register failed. Error number %d\n",
			result);
	}

	return result;
+3 −1
Original line number Diff line number Diff line
@@ -295,7 +295,9 @@ static void vmk80xx_rx_callback(struct urb *urb)
		if (!usb_submit_urb(urb, GFP_KERNEL))
			goto exit;

		err("comedi#: vmk80xx: %s - submit urb failed\n", __func__);
		dev_err(&urb->dev->dev,
			"comedi#: vmk80xx: %s - submit urb failed\n",
			__func__);

		usb_unanchor_urb(urb);
	}
Loading