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 ...
Showing the changes to include/uapi/linux (3 of 199 files). Show all
Unified · Split
| @@ -947,6 +947,22 @@ struct usb_ss_container_id_descriptor { · 946 unmodified lines | |||
| 947 | 947 | ||
| 948 | #define USB_DT_USB_SS_CONTN_ID_SIZE 20 | 948 | #define USB_DT_USB_SS_CONTN_ID_SIZE 20 |
| 949 | 949 | ||
| 950 | /* | ||
| 951 | * Platform Device Capability descriptor: Defines platform specific device | ||
| 952 | * capabilities | ||
| 953 | */ | ||
| 954 | #define USB_PLAT_DEV_CAP_TYPE 5 | ||
| 955 | struct usb_plat_dev_cap_descriptor { | ||
| 956 | __u8 bLength; | ||
| 957 | __u8 bDescriptorType; | ||
| 958 | __u8 bDevCapabilityType; | ||
| 959 | __u8 bReserved; | ||
| 960 | __u8 UUID[16]; | ||
| 961 | __u8 CapabilityData[]; | ||
| 962 | } __attribute__((packed)); | ||
| 963 | |||
| 964 | #define USB_DT_USB_PLAT_DEV_CAP_SIZE(capability_data_size) (20 + capability_data_size) | ||
| 965 | |||
| 950 | /* | 966 | /* |
| 951 | * SuperSpeed Plus USB Capability descriptor: Defines the set of | 967 | * SuperSpeed Plus USB Capability descriptor: Defines the set of |
| 952 | * SuperSpeed Plus USB specific device level capabilities | 968 | * SuperSpeed Plus USB specific device level capabilities |
| @@ -179,6 +179,36 @@ · 178 unmodified lines | |||
| 179 | #define UVC_CONTROL_CAP_AUTOUPDATE (1 << 3) | 179 | #define UVC_CONTROL_CAP_AUTOUPDATE (1 << 3) |
| 180 | #define UVC_CONTROL_CAP_ASYNCHRONOUS (1 << 4) | 180 | #define UVC_CONTROL_CAP_ASYNCHRONOUS (1 << 4) |
| 181 | 181 | ||
| 182 | /* 3.9.2.6 Color Matching Descriptor Values */ | ||
| 183 | enum uvc_color_primaries_values { | ||
| 184 | UVC_COLOR_PRIMARIES_UNSPECIFIED, | ||
| 185 | UVC_COLOR_PRIMARIES_BT_709_SRGB, | ||
| 186 | UVC_COLOR_PRIMARIES_BT_470_2_M, | ||
| 187 | UVC_COLOR_PRIMARIES_BT_470_2_B_G, | ||
| 188 | UVC_COLOR_PRIMARIES_SMPTE_170M, | ||
| 189 | UVC_COLOR_PRIMARIES_SMPTE_240M, | ||
| 190 | }; | ||
| 191 | |||
| 192 | enum uvc_transfer_characteristics_values { | ||
| 193 | UVC_TRANSFER_CHARACTERISTICS_UNSPECIFIED, | ||
| 194 | UVC_TRANSFER_CHARACTERISTICS_BT_709, | ||
| 195 | UVC_TRANSFER_CHARACTERISTICS_BT_470_2_M, | ||
| 196 | UVC_TRANSFER_CHARACTERISTICS_BT_470_2_B_G, | ||
| 197 | UVC_TRANSFER_CHARACTERISTICS_SMPTE_170M, | ||
| 198 | UVC_TRANSFER_CHARACTERISTICS_SMPTE_240M, | ||
| 199 | UVC_TRANSFER_CHARACTERISTICS_LINEAR, | ||
| 200 | UVC_TRANSFER_CHARACTERISTICS_SRGB, | ||
| 201 | }; | ||
| 202 | |||
| 203 | enum uvc_matrix_coefficients { | ||
| 204 | UVC_MATRIX_COEFFICIENTS_UNSPECIFIED, | ||
| 205 | UVC_MATRIX_COEFFICIENTS_BT_709, | ||
| 206 | UVC_MATRIX_COEFFICIENTS_FCC, | ||
| 207 | UVC_MATRIX_COEFFICIENTS_BT_470_2_B_G, | ||
| 208 | UVC_MATRIX_COEFFICIENTS_SMPTE_170M, | ||
| 209 | UVC_MATRIX_COEFFICIENTS_SMPTE_240M, | ||
| 210 | }; | ||
| 211 | |||
| 182 | /* ------------------------------------------------------------------------ | 212 | /* ------------------------------------------------------------------------ |
| 183 | * UVC structures | 213 | * UVC structures |
| 184 | */ | 214 | */ |
| @@ -36,9 +36,11 @@ · 35 unmodified lines | |||
| 36 | UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \ | 36 | UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \ |
| 37 | UVC_CTRL_FLAG_GET_DEF) | 37 | UVC_CTRL_FLAG_GET_DEF) |
| 38 | 38 | ||
| 39 | #define UVC_MENU_NAME_LEN 32 | ||
| 40 | |||
| 39 | struct uvc_menu_info { | 41 | struct uvc_menu_info { |
| 40 | __u32 value; | 42 | __u32 value; |
| 41 | __u8 name[32]; | 43 | __u8 name[UVC_MENU_NAME_LEN]; |
| 42 | }; | 44 | }; |
| 43 | 45 | ||
| 44 | struct uvc_xu_control_mapping { | 46 | struct uvc_xu_control_mapping { |
| @@ -86,7 +88,7 @@ struct uvc_xu_control_query { · 41 unmodified lines | |||
| 86 | * struct. The first two fields are added by the driver, they can be used for | 88 | * struct. The first two fields are added by the driver, they can be used for |
| 87 | * clock synchronisation. The rest is an exact copy of a UVC payload header. | 89 | * clock synchronisation. The rest is an exact copy of a UVC payload header. |
| 88 | * Only complete objects with complete buffers are included. Therefore it's | 90 | * Only complete objects with complete buffers are included. Therefore it's |
| 89 | * always sizeof(meta->ts) + sizeof(meta->sof) + meta->length bytes large. | 91 | * always sizeof(meta->ns) + sizeof(meta->sof) + meta->length bytes large. |
| 90 | */ | 92 | */ |
| 91 | struct uvc_meta_buf { | 93 | struct uvc_meta_buf { |
| 92 | __u64 ns; | 94 | __u64 ns; |