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 | 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 | 967 | * SuperSpeed Plus USB Capability descriptor: Defines the set of |
| 952 | 968 | * SuperSpeed Plus USB specific device level capabilities |
| @@ -179,6 +179,36 @@ · 178 unmodified lines | ||
| 179 | 179 | #define UVC_CONTROL_CAP_AUTOUPDATE (1 << 3) |
| 180 | 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 | 213 | * UVC structures |
| 184 | 214 | */ |
| @@ -36,9 +36,11 @@ · 35 unmodified lines | ||
| 36 | 36 | UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \ |
| 37 | 37 | UVC_CTRL_FLAG_GET_DEF) |
| 38 | 38 | |
| 39 | +#define UVC_MENU_NAME_LEN 32 | |
| 40 | + | |
| 39 | 41 | struct uvc_menu_info { |
| 40 | 42 | __u32 value; |
| 41 | − __u8 name[32]; | |
| 43 | + __u8 name[UVC_MENU_NAME_LEN]; | |
| 42 | 44 | }; |
| 43 | 45 | |
| 44 | 46 | struct uvc_xu_control_mapping { |
| @@ -86,7 +88,7 @@ struct uvc_xu_control_query { · 41 unmodified lines | ||
| 86 | 88 | * struct. The first two fields are added by the driver, they can be used for |
| 87 | 89 | * clock synchronisation. The rest is an exact copy of a UVC payload header. |
| 88 | 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 | 93 | struct uvc_meta_buf { |
| 92 | 94 | __u64 ns; |