History

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 ...

Linus Torvalds committed 3 years ago

Commit 72bffe72 parents ab7362d 1243741199 files · +11871 −2232Browse files

Showing the changes to include/uapi/linux (3 of 199 files). Show all

Unified · Split

3 files
  1. include/uapi/linux/usb/ch9.h +16 −0
  2. include/uapi/linux/usb/video.h +30 −0
  3. include/uapi/linux/uvcvideo.h +4 −2
include/uapi/linux/usb/ch9.h+16−0
@@ -947,6 +947,22 @@ struct usb_ss_container_id_descriptor { · 946 unmodified lines
947947
948948 #define USB_DT_USB_SS_CONTN_ID_SIZE 20
949949
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+
950966 /*
951967 * SuperSpeed Plus USB Capability descriptor: Defines the set of
952968 * SuperSpeed Plus USB specific device level capabilities
include/uapi/linux/usb/video.h+30−0
@@ -179,6 +179,36 @@ · 178 unmodified lines
179179 #define UVC_CONTROL_CAP_AUTOUPDATE (1 << 3)
180180 #define UVC_CONTROL_CAP_ASYNCHRONOUS (1 << 4)
181181
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+
182212 /* ------------------------------------------------------------------------
183213 * UVC structures
184214 */
include/uapi/linux/uvcvideo.h+4−2
@@ -36,9 +36,11 @@ · 35 unmodified lines
3636 UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \
3737 UVC_CTRL_FLAG_GET_DEF)
3838
39+#define UVC_MENU_NAME_LEN 32
40+
3941 struct uvc_menu_info {
4042 __u32 value;
41− __u8 name[32];
43+ __u8 name[UVC_MENU_NAME_LEN];
4244 };
4345
4446 struct uvc_xu_control_mapping {
@@ -86,7 +88,7 @@ struct uvc_xu_control_query { · 41 unmodified lines
8688 * struct. The first two fields are added by the driver, they can be used for
8789 * clock synchronisation. The rest is an exact copy of a UVC payload header.
8890 * 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.
9092 */
9193 struct uvc_meta_buf {
9294 __u64 ns;