USB patches for 3.20-rc1
Here's the big pull request for the USB driver tree for 3.20-rc1. Nothing major happening here, just lots of gadget driver updates, new device ids, and a bunch of cleanups. All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlTgtrcACgkQMUfUDdst+yn0tACgygJPNvu1l3ukNJCCpWuOErIj 3KsAnjiEXv90DLYJiVLJ4EbLPw0V9wAv =DrJx -----END PGP SIGNATURE----- Merge tag 'usb-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB patches from Greg KH: "Here's the big pull request for the USB driver tree for 3.20-rc1. Nothing major happening here, just lots of gadget driver updates, new device ids, and a bunch of cleanups. All of these have been in linux-next for a while with no reported issues" * tag 'usb-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (299 commits) usb: musb: fix device hotplug behind hub usb: dwc2: Fix a bug in reading the endpoint directions from reg. staging: emxx_udc: fix the build error usb: Retry port status check on resume to work around RH bugs Revert "usb: Reset USB-3 devices on USB-3 link bounce" uhci-hub: use HUB_CHAR_* usb: kconfig: replace PPC_OF with PPC ehci-pci: disable for Intel MID platforms (update) usb: gadget: Kconfig: use bool instead of boolean usb: musb: blackfin: remove incorrect __exit_p() USB: fix use-after-free bug in usb_hcd_unlink_urb() ehci-pci: disable for Intel MID platforms usb: host: pci_quirks: joing string literals USB: add flag for HCDs that can't receive wakeup requests (isp1760-hcd) USB: usbfs: allow URBs to be reaped after disconnection cdc-acm: kill unnecessary messages cdc-acm: add sanity checks usb: phy: phy-generic: Fix USB PHY gpio reset usb: dwc2: fix USB core dependencies usb: renesas_usbhs: fix NULL pointer dereference in dma_release_channel() ...
This commit is contained in:
commit
e29876723f
184 changed files with 9308 additions and 3049 deletions
21
include/linux/mfd/syscon/exynos4-pmu.h
Normal file
21
include/linux/mfd/syscon/exynos4-pmu.h
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Samsung Electronics Co., Ltd.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_MFD_SYSCON_PMU_EXYNOS4_H_
|
||||
#define _LINUX_MFD_SYSCON_PMU_EXYNOS4_H_
|
||||
|
||||
/* Exynos4 PMU register definitions */
|
||||
|
||||
/* MIPI_PHYn_CONTROL register offset: n = 0..1 */
|
||||
#define EXYNOS4_MIPI_PHY_CONTROL(n) (0x710 + (n) * 4)
|
||||
#define EXYNOS4_MIPI_PHY_ENABLE (1 << 0)
|
||||
#define EXYNOS4_MIPI_PHY_SRESETN (1 << 1)
|
||||
#define EXYNOS4_MIPI_PHY_MRESETN (1 << 2)
|
||||
#define EXYNOS4_MIPI_PHY_RESET_MASK (3 << 1)
|
||||
|
||||
#endif /* _LINUX_MFD_SYSCON_PMU_EXYNOS4_H_ */
|
||||
|
|
@ -53,9 +53,9 @@ struct ieee1394_device_id {
|
|||
|
||||
/**
|
||||
* struct usb_device_id - identifies USB devices for probing and hotplugging
|
||||
* @match_flags: Bit mask controlling of the other fields are used to match
|
||||
* against new devices. Any field except for driver_info may be used,
|
||||
* although some only make sense in conjunction with other fields.
|
||||
* @match_flags: Bit mask controlling which of the other fields are used to
|
||||
* match against new devices. Any field except for driver_info may be
|
||||
* used, although some only make sense in conjunction with other fields.
|
||||
* This is usually set by a USB_DEVICE_*() macro, which sets all
|
||||
* other fields in this structure except for driver_info.
|
||||
* @idVendor: USB vendor ID for a device; numbers are assigned
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ struct usb_host_interface {
|
|||
int extralen;
|
||||
unsigned char *extra; /* Extra descriptors */
|
||||
|
||||
/* array of desc.bNumEndpoint endpoints associated with this
|
||||
/* array of desc.bNumEndpoints endpoints associated with this
|
||||
* interface setting. these will be in no particular order.
|
||||
*/
|
||||
struct usb_host_endpoint *endpoint;
|
||||
|
|
@ -127,10 +127,6 @@ enum usb_interface_condition {
|
|||
* to the sysfs representation for that device.
|
||||
* @pm_usage_cnt: PM usage counter for this interface
|
||||
* @reset_ws: Used for scheduling resets from atomic context.
|
||||
* @reset_running: set to 1 if the interface is currently running a
|
||||
* queued reset so that usb_cancel_queued_reset() doesn't try to
|
||||
* remove from the workqueue when running inside the worker
|
||||
* thread. See __usb_queue_reset_device().
|
||||
* @resetting_device: USB core reset the device, so use alt setting 0 as
|
||||
* current; needs bandwidth alloc after reset.
|
||||
*
|
||||
|
|
@ -181,7 +177,6 @@ struct usb_interface {
|
|||
unsigned needs_remote_wakeup:1; /* driver requires remote wakeup */
|
||||
unsigned needs_altsetting0:1; /* switch to altsetting 0 is pending */
|
||||
unsigned needs_binding:1; /* needs delayed unbind/rebind */
|
||||
unsigned reset_running:1;
|
||||
unsigned resetting_device:1; /* true: bandwidth alloc after reset */
|
||||
|
||||
struct device dev; /* interface specific device info */
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ struct usb_hcd;
|
|||
* after initialization.
|
||||
* @no_io_watchdog: set to 1 if the controller does not need the I/O
|
||||
* watchdog to run.
|
||||
* @reset_on_resume: set to 1 if the controller needs to be reset after
|
||||
* a suspend / resume cycle (but can't detect that itself).
|
||||
*
|
||||
* These are general configuration options for the EHCI controller. All of
|
||||
* these options are activating more or less workarounds for some hardware.
|
||||
|
|
@ -45,6 +47,8 @@ struct usb_ehci_pdata {
|
|||
unsigned big_endian_desc:1;
|
||||
unsigned big_endian_mmio:1;
|
||||
unsigned no_io_watchdog:1;
|
||||
unsigned reset_on_resume:1;
|
||||
unsigned dma_mask_64:1;
|
||||
|
||||
/* Turn on all power and clocks */
|
||||
int (*power_on)(struct platform_device *pdev);
|
||||
|
|
|
|||
|
|
@ -523,6 +523,7 @@ struct usb_gadget_ops {
|
|||
* enabled HNP support.
|
||||
* @quirk_ep_out_aligned_size: epout requires buffer size to be aligned to
|
||||
* MaxPacketSize.
|
||||
* @is_selfpowered: if the gadget is self-powered.
|
||||
*
|
||||
* Gadgets have a mostly-portable "gadget driver" implementing device
|
||||
* functions, handling all usb configurations and interfaces. Gadget
|
||||
|
|
@ -563,6 +564,7 @@ struct usb_gadget {
|
|||
unsigned a_hnp_support:1;
|
||||
unsigned a_alt_hnp_support:1;
|
||||
unsigned quirk_ep_out_aligned_size:1;
|
||||
unsigned is_selfpowered:1;
|
||||
};
|
||||
#define work_to_gadget(w) (container_of((w), struct usb_gadget, work))
|
||||
|
||||
|
|
|
|||
|
|
@ -146,6 +146,8 @@ struct usb_hcd {
|
|||
unsigned amd_resume_bug:1; /* AMD remote wakeup quirk */
|
||||
unsigned can_do_streams:1; /* HC supports streams */
|
||||
unsigned tpl_support:1; /* OTG & EH TPL support */
|
||||
unsigned cant_recv_wakeups:1;
|
||||
/* wakeup requests from downstream aren't received */
|
||||
|
||||
unsigned int irq; /* irq allocated */
|
||||
void __iomem *regs; /* device memory/io */
|
||||
|
|
@ -453,6 +455,7 @@ extern const struct dev_pm_ops usb_hcd_pci_pm_ops;
|
|||
#endif /* CONFIG_PCI */
|
||||
|
||||
/* pci-ish (pdev null is ok) buffer alloc/mapping support */
|
||||
void usb_init_pool_max(void);
|
||||
int hcd_buffer_create(struct usb_hcd *hcd);
|
||||
void hcd_buffer_destroy(struct usb_hcd *hcd);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* USB OTG (On The Go) defines */
|
||||
/*
|
||||
* USB PHY defines
|
||||
*
|
||||
* These APIs may be used between USB controllers. USB device drivers
|
||||
* (for either host or peripheral roles) don't use these calls; they
|
||||
|
|
@ -106,7 +106,7 @@ struct usb_phy {
|
|||
int (*set_power)(struct usb_phy *x,
|
||||
unsigned mA);
|
||||
|
||||
/* for non-OTG B devices: set transceiver into suspend mode */
|
||||
/* Set transceiver into suspend mode */
|
||||
int (*set_suspend)(struct usb_phy *x,
|
||||
int suspend);
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define __LINUX_USB_NOP_XCEIV_H
|
||||
|
||||
#include <linux/usb/otg.h>
|
||||
#include <linux/gpio/consumer.h>
|
||||
|
||||
struct usb_phy_generic_platform_data {
|
||||
enum usb_phy_type type;
|
||||
|
|
@ -11,6 +12,7 @@ struct usb_phy_generic_platform_data {
|
|||
unsigned int needs_vcc:1;
|
||||
unsigned int needs_reset:1; /* deprecated */
|
||||
int gpio_reset;
|
||||
struct gpio_desc *gpiod_vbus;
|
||||
};
|
||||
|
||||
#if IS_ENABLED(CONFIG_NOP_USB_XCEIV)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue