This series improves the uvc video gadget by parsing the configfs entries. With the configfs data, the driver now is able to negotiate the format with the usb host in the kernel and also exports the supported frames/formats/intervals via the v4l2 VIDIOC interface. Michael Grzeschik (3): usb: gadget: uvc: move structs to common header usb: gadget: uvc: add VIDIOC function usb: gadget: uvc: add format/frame handling code drivers/usb/gadget/function/f_uvc.c | 324 +++++++++++++++++++- drivers/usb/gadget/function/uvc.h | 32 +- drivers/usb/gadget/function/uvc_configfs.c | 116 +------ drivers/usb/gadget/function/uvc_configfs.h | 121 ++++++++ drivers/usb/gadget/function/uvc_queue.c | 4 +- drivers/usb/gadget/function/uvc_v4l2.c | 335 ++++++++++++++++++--- drivers/usb/gadget/function/uvc_v4l2.h | 1 + drivers/usb/gadget/function/uvc_video.c | 23 +- 8 files changed, 781 insertions(+), 175 deletions(-) -- 2.29.2