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

Pull USB / Thunderbolt driver updates from Greg KH:
 "Here is the big set of USB and Thunderbolt driver changes for 6.3-rc1.

  Nothing major in here, just lots of good development, including:

   - Thunderbolt additions for new device support and features

   - xhci driver updates and cleanups

   - USB gadget media driver updates (includes media core changes that
     were acked by the v4l2 maintainers)

   - lots of other USB gadget driver updates for new features

   - dwc3 driver updates and fixes

   - minor debugfs leak fixes

   - typec driver updates and additions

   - dt-bindings conversions to yaml

   - other small bugfixes and driver updates

  All have been in linux-next for a while with no reported issues"

* tag 'usb-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (237 commits)
  usb: dwc3: xilinx: Remove unused of_gpio,h
  usb: typec: pd: Add higher capability sysfs for sink PDO
  usb: typec: pd: Remove usb_suspend_supported sysfs from sink PDO
  usb: dwc3: pci: add support for the Intel Meteor Lake-M
  usb: gadget: u_ether: Don't warn in gether_setup_name_default()
  usb: gadget: u_ether: Convert prints to device prints
  usb: gadget: u_serial: Add null pointer check in gserial_resume
  usb: gadget: uvc: fix missing mutex_unlock() if kstrtou8() fails
  xhci: host: potential NULL dereference in xhci_generic_plat_probe()
  dt-bindings: usb: amlogic,meson-g12a-usb-ctrl: make G12A usb3-phy0 optional
  usb: host: fsl-mph-dr-of: reuse device_set_of_node_from_dev
  of: device: Do not ignore error code in of_device_uevent_modalias
  of: device: Ignore modalias of reused nodes
  usb: gadget: configfs: Fix set but not used variable warning
  usb: gadget: uvc: Use custom strings if available
  usb: gadget: uvc: Allow linking function to string descs
  usb: gadget: uvc: Pick up custom string descriptor IDs
  usb: gadget: uvc: Allow linking XUs to string descriptors
  usb: gadget: configfs: Attach arbitrary strings to cdev
  usb: gadget: configfs: Support arbitrary string descriptors
  ...
This commit is contained in:
Linus Torvalds
2023-02-24 12:07:00 -08:00
199 changed files with 11854 additions and 2215 deletions

View File

@@ -947,6 +947,22 @@ struct usb_ss_container_id_descriptor {
#define USB_DT_USB_SS_CONTN_ID_SIZE 20
/*
* Platform Device Capability descriptor: Defines platform specific device
* capabilities
*/
#define USB_PLAT_DEV_CAP_TYPE 5
struct usb_plat_dev_cap_descriptor {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDevCapabilityType;
__u8 bReserved;
__u8 UUID[16];
__u8 CapabilityData[];
} __attribute__((packed));
#define USB_DT_USB_PLAT_DEV_CAP_SIZE(capability_data_size) (20 + capability_data_size)
/*
* SuperSpeed Plus USB Capability descriptor: Defines the set of
* SuperSpeed Plus USB specific device level capabilities

View File

@@ -179,6 +179,36 @@
#define UVC_CONTROL_CAP_AUTOUPDATE (1 << 3)
#define UVC_CONTROL_CAP_ASYNCHRONOUS (1 << 4)
/* 3.9.2.6 Color Matching Descriptor Values */
enum uvc_color_primaries_values {
UVC_COLOR_PRIMARIES_UNSPECIFIED,
UVC_COLOR_PRIMARIES_BT_709_SRGB,
UVC_COLOR_PRIMARIES_BT_470_2_M,
UVC_COLOR_PRIMARIES_BT_470_2_B_G,
UVC_COLOR_PRIMARIES_SMPTE_170M,
UVC_COLOR_PRIMARIES_SMPTE_240M,
};
enum uvc_transfer_characteristics_values {
UVC_TRANSFER_CHARACTERISTICS_UNSPECIFIED,
UVC_TRANSFER_CHARACTERISTICS_BT_709,
UVC_TRANSFER_CHARACTERISTICS_BT_470_2_M,
UVC_TRANSFER_CHARACTERISTICS_BT_470_2_B_G,
UVC_TRANSFER_CHARACTERISTICS_SMPTE_170M,
UVC_TRANSFER_CHARACTERISTICS_SMPTE_240M,
UVC_TRANSFER_CHARACTERISTICS_LINEAR,
UVC_TRANSFER_CHARACTERISTICS_SRGB,
};
enum uvc_matrix_coefficients {
UVC_MATRIX_COEFFICIENTS_UNSPECIFIED,
UVC_MATRIX_COEFFICIENTS_BT_709,
UVC_MATRIX_COEFFICIENTS_FCC,
UVC_MATRIX_COEFFICIENTS_BT_470_2_B_G,
UVC_MATRIX_COEFFICIENTS_SMPTE_170M,
UVC_MATRIX_COEFFICIENTS_SMPTE_240M,
};
/* ------------------------------------------------------------------------
* UVC structures
*/

View File

@@ -36,9 +36,11 @@
UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \
UVC_CTRL_FLAG_GET_DEF)
#define UVC_MENU_NAME_LEN 32
struct uvc_menu_info {
__u32 value;
__u8 name[32];
__u8 name[UVC_MENU_NAME_LEN];
};
struct uvc_xu_control_mapping {
@@ -86,7 +88,7 @@ struct uvc_xu_control_query {
* struct. The first two fields are added by the driver, they can be used for
* clock synchronisation. The rest is an exact copy of a UVC payload header.
* Only complete objects with complete buffers are included. Therefore it's
* always sizeof(meta->ts) + sizeof(meta->sof) + meta->length bytes large.
* always sizeof(meta->ns) + sizeof(meta->sof) + meta->length bytes large.
*/
struct uvc_meta_buf {
__u64 ns;