linux/drivers/usb/gadget
Andrzej Pietrasiewicz fd83ff901d usb: gadget: webcam: Make g_webcam loadable again
[ Upstream commit f1fd91a092 ]

commit 588b9e8560 ("usb: gadget: uvc: add v4l2 enumeration api calls")
has rendered the precomposed (aka legacy) webcam gadget unloadable.

uvc_alloc() since then has depended on certain config groups being
available in configfs tree related to the UVC function. However, legacy
gadgets do not create anything in configfs, so uvc_alloc() must fail
with -ENOENT no matter what.

This patch mimics the required configfs hierarchy to satisfy the code which
inspects formats and frames found in uvcg_streaming_header.

This has been tested with guvcview on the host side, using vivid as a
source of video stream on the device side and using the userspace program
found at https://gitlab.freedesktop.org/camera/uvc-gadget.git.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Fixes: 588b9e8560 ("usb: gadget: uvc: add v4l2 enumeration api calls")
Link: https://lore.kernel.org/r/20231215131614.29132-1-andrzej.p@collabora.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-01-25 15:35:53 -08:00
..
function usb: gadget: webcam: Make g_webcam loadable again 2024-01-25 15:35:53 -08:00
legacy usb: gadget: webcam: Make g_webcam loadable again 2024-01-25 15:35:53 -08:00
udc USB: gadget: core: adjust uevent timing on gadget unbind 2023-12-13 18:45:33 +01:00
composite.c usb: gadget: composite: cleanup function config_ep_by_speed_and_alt() 2023-08-22 14:48:33 +02:00
config.c usb: gadget: config: remove max speed check in usb_assign_descriptors() 2023-08-22 14:48:33 +02:00
configfs.c usb: gadget: Properly configure the device for remote wakeup 2023-03-29 10:27:00 +02:00
configfs.h
epautoconf.c usb: gadget: fix for a typo that conveys logically-inverted information. 2021-09-14 10:27:54 +02:00
functions.c
Kconfig usb: gadget: Add support for USB MIDI 2.0 function driver 2023-07-26 06:38:14 +02:00
Makefile usb: gadget: Makefile: remove ccflags-y 2022-03-18 12:56:08 +01:00
u_f.c
u_f.h
u_os_desc.h
usbstring.c