Hello, This patch series reworks the UVC gadget function configfs implementation to support multiple UVC functions in a single device and The first two patches simplify the code (01/08) and improve readability (02/08). The series then moves to dynamically allocating all configfs groups (03/08) to support multiple instances. As a consequence we have to expose the interface numbers through new configfs attributes (04/08) in order to let the userspace helper application discover them. The next three patches add and document new bFormatIndex (05/08 and 06/08) and bFrameIndex (07/08) configfs attributes to expose indices of UVC format and frame descriptors to userspace, allowing their dynamic discovery. The last patch finally fixes a bug that allowed modification of descriptors after linking them (08/08). Felipe, all this is based on top of your testing/next branch, and is a candidate for v4.20. Please let me know if I should base the patches on a different branch. Joel Pepper (2): usb: gadget: uvc: configfs: Add bFrameIndex attributes usb: gadget: uvc: configfs: Prevent format changes after linking header Laurent Pinchart (6): usb: gadget: uvc: configfs: Don't wrap groups unnecessarily usb: gadget: uvc: configfs: Add section header comments usb: gadget: uvc: configfs: Allocate groups dynamically usb: gadget: uvc: configfs: Add interface number attributes usb: gadget: uvc: configfs: Add bFormatIndex attributes usb: gadget: uvc: configfs: Document the bFormatIndex attribute Documentation/ABI/testing/configfs-usb-gadget-uvc | 16 + drivers/usb/gadget/function/f_uvc.c | 10 +- drivers/usb/gadget/function/u_uvc.h | 3 + drivers/usb/gadget/function/uvc_configfs.c | 821 +++++++++++++--------- 4 files changed, 532 insertions(+), 318 deletions(-) -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html