History

Merge tag 'usb-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB/PHY updates from Greg KH: "Here is the big set of USB and PHY driver patches for 5.2-rc1 There is the usual set of: - USB gadget updates - PHY driver updates and additions - USB serial driver updates and fixes - typec updates and new chips supported - mtu3 driver updates - xhci driver updates - other tiny driver updates Nothing really interesting, just constant forward progress. All of these have been in linux-next for a while with no reported issues. The usb-gadget and usb-serial trees were merged a bit "late", but both of them had been in linux-next before they got merged here last Friday" * tag 'usb-5.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (206 commits) USB: serial: f81232: implement break control USB: serial: f81232: add high baud rate support USB: serial: f81232: clear overrun flag USB: serial: f81232: fix interrupt worker not stop usb: dwc3: Rename DWC3_DCTL_LPM_ERRATA usb: dwc3: Fix default lpm_nyet_threshold value usb: dwc3: debug: Print GET_STATUS(device) tracepoint usb: dwc3: Do core validation early on probe usb: dwc3: gadget: Set lpm_capable usb: gadget: atmel: tie wake lock to running clock usb: gadget: atmel: support USB suspend usb: gadget: atmel_usba_udc: simplify setting of interrupt-enabled mask dwc2: gadget: Fix completed transfer size calculation in DDMA usb: dwc2: Set lpm mode parameters depend on HW configuration usb: dwc2: Fix channel disable flow usb: dwc2: Set actual frame number for completed ISOC transfer usb: gadget: do not use __constant_cpu_to_le16 usb: dwc2: gadget: Increase descriptors count for ISOC's usb: introduce usb_ep_type_string() function usb: dwc3: move synchronize_irq() out of the spinlock protected block ...

Linus Torvalds committed 7 years ago

Commit 132d68d2 parents 80f2321 3515468206 files · +12187 −3332Browse files

Showing the changes to include/linux (7 of 206 files). Show all

Unified · Split

7 files
  1. include/linux/phy/phy.h +2 −0
  2. include/linux/usb.h +1 −1
  3. include/linux/usb/ch9.h +8 −0
  4. include/linux/usb/hcd.h +6 −0
  5. include/linux/usb/serial.h +1 −7
  6. include/linux/usb/tcpm.h +7 −6
  7. include/linux/usb/typec_dp.h +5 −0
include/linux/phy/phy.h+2−0
@@ -64,6 +64,7 @@ union phy_configure_opts { · 63 unmodified lines
6464 * @set_mode: set the mode of the phy
6565 * @reset: resetting the phy
6666 * @calibrate: calibrate the phy
67+ * @release: ops to be performed while the consumer relinquishes the PHY
6768 * @owner: the module owner containing the ops
6869 */
6970 struct phy_ops {
@@ -105,6 +106,7 @@ struct phy_ops { · 35 unmodified lines
105106 union phy_configure_opts *opts);
106107 int (*reset)(struct phy *phy);
107108 int (*calibrate)(struct phy *phy);
109+ void (*release)(struct phy *phy);
108110 struct module *owner;
109111 };
110112
include/linux/usb.h+1−1
@@ -1543,10 +1543,10 @@ typedef void (*usb_complete_t)(struct urb *); · 1542 unmodified lines
15431543 struct urb {
15441544 /* private: usb core and host controller only fields in the urb */
15451545 struct kref kref; /* reference count of the URB */
1546+ int unlinked; /* unlink error code */
15461547 void *hcpriv; /* private data for host controller */
15471548 atomic_t use_count; /* concurrent submissions counter */
15481549 atomic_t reject; /* submissions will fail */
1549− int unlinked; /* unlink error code */
15501550
15511551 /* public: documented fields in the urb that can be used by drivers */
15521552 struct list_head urb_list; /* list head for use by the urb's
include/linux/usb/ch9.h+8−0
@@ -36,6 +36,14 @@ · 35 unmodified lines
3636 #include <linux/device.h>
3737 #include <uapi/linux/usb/ch9.h>
3838
39+/**
40+ * usb_ep_type_string() - Returns human readable-name of the endpoint type.
41+ * @ep_type: The endpoint type to return human-readable name for. If it's not
42+ * any of the types: USB_ENDPOINT_XFER_{CONTROL, ISOC, BULK, INT},
43+ * usually got by usb_endpoint_type(), the string 'unknown' will be returned.
44+ */
45+extern const char *usb_ep_type_string(int ep_type);
46+
3947 /**
4048 * usb_speed_string() - Returns human readable-name of the speed.
4149 * @speed: The speed to return human-readable name for. If it's not
include/linux/usb/hcd.h+6−0
@@ -98,6 +98,7 @@ struct usb_hcd { · 97 unmodified lines
9898 #ifdef CONFIG_PM
9999 struct work_struct wakeup_work; /* for remote wakeup */
100100 #endif
101+ struct work_struct died_work; /* for when the device dies */
101102
102103 /*
103104 * hardware info/state
@@ -652,11 +653,16 @@ extern wait_queue_head_t usb_kill_urb_queue; · 548 unmodified lines
652653 #define usb_endpoint_out(ep_dir) (!((ep_dir) & USB_DIR_IN))
653654
654655 #ifdef CONFIG_PM
656+extern unsigned usb_wakeup_enabled_descendants(struct usb_device *udev);
655657 extern void usb_root_hub_lost_power(struct usb_device *rhdev);
656658 extern int hcd_bus_suspend(struct usb_device *rhdev, pm_message_t msg);
657659 extern int hcd_bus_resume(struct usb_device *rhdev, pm_message_t msg);
658660 extern void usb_hcd_resume_root_hub(struct usb_hcd *hcd);
659661 #else
662+static inline unsigned usb_wakeup_enabled_descendants(struct usb_device *udev)
663+{
664+ return 0;
665+}
660666 static inline void usb_hcd_resume_root_hub(struct usb_hcd *hcd)
661667 {
662668 return;
include/linux/usb/serial.h+1−7
@@ -23,11 +23,9 @@ · 22 unmodified lines
2323 /* The maximum number of ports one device can grab at once */
2424 #define MAX_NUM_PORTS 16
2525
26−/* parity check flag */
27−#define RELEVANT_IFLAG(iflag) (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK))
28−
2926 /* USB serial flags */
3027 #define USB_SERIAL_WRITE_BUSY 0
28+#define USB_SERIAL_THROTTLED 1
3129
3230 /**
3331 * usb_serial_port: structure for the specific ports of a device.
@@ -67,8 +65,6 @@ · 33 unmodified lines
6765 * @flags: usb serial port flags
6866 * @write_wait: a wait_queue_head_t used by the port.
6967 * @work: work queue entry for the line discipline waking up.
70− * @throttled: nonzero if the read urb is inactive to throttle the device
71− * @throttle_req: nonzero if the tty wants to throttle us
7268 * @dev: pointer to the serial device
7369 *
7470 * This structure is used by the usb-serial core and drivers for the specific
@@ -115,8 +111,6 @@ struct usb_serial_port { · 40 unmodified lines
115111 unsigned long flags;
116112 wait_queue_head_t write_wait;
117113 struct work_struct work;
118− char throttled;
119− char throttle_req;
120114 unsigned long sysrq; /* sysrq timeout */
121115 struct device dev;
122116 };
include/linux/usb/tcpm.h+7−6
@@ -121,10 +121,10 @@ struct tcpc_config { · 120 unmodified lines
121121 * with partner.
122122 * @set_pd_rx: Called to enable or disable reception of PD messages
123123 * @set_roles: Called to set power and data roles
124− * @start_drp_toggling:
125− * Optional; if supported by hardware, called to start DRP
126− * toggling. DRP toggling is stopped automatically if
127− * a connection is established.
124+ * @start_toggling:
125+ * Optional; if supported by hardware, called to start dual-role
126+ * toggling or single-role connection detection. Toggling stops
127+ * automatically if a connection is established.
128128 * @try_role: Optional; called to set a preferred role
129129 * @pd_transmit:Called to transmit PD message
130130 * @mux: Pointer to multiplexer data
@@ -147,8 +147,9 @@ struct tcpc_dev { · 16 unmodified lines
147147 int (*set_pd_rx)(struct tcpc_dev *dev, bool on);
148148 int (*set_roles)(struct tcpc_dev *dev, bool attached,
149149 enum typec_role role, enum typec_data_role data);
150− int (*start_drp_toggling)(struct tcpc_dev *dev,
151− enum typec_cc_status cc);
150+ int (*start_toggling)(struct tcpc_dev *dev,
151+ enum typec_port_type port_type,
152+ enum typec_cc_status cc);
152153 int (*try_role)(struct tcpc_dev *dev, int role);
153154 int (*pd_transmit)(struct tcpc_dev *dev, enum tcpm_transmit_type type,
154155 const struct pd_message *msg);
include/linux/usb/typec_dp.h+5−0
@@ -5,6 +5,11 @@ · 4 unmodified lines
55 #include <linux/usb/typec_altmode.h>
66
77 #define USB_TYPEC_DP_SID 0xff01
8+/* USB IF has not assigned a Standard ID (SID) for VirtualLink,
9+ * so the manufacturers of VirtualLink adapters use their Vendor
10+ * IDs as the SVID.
11+ */
12+#define USB_TYPEC_NVIDIA_VLINK_SID 0x955 /* NVIDIA VirtualLink */
813 #define USB_TYPEC_DP_MODE 1
914
1015 /*

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t