On Tue, Jan 31, 2023 at 09:57:38AM +0000, Daniel Scally wrote: > For the Processing Unit and Camera Terminal descriptors defined in > the UVC Gadget we currently hard-code values into their bmControls > fields, which enumerates the controls the gadget is able to > support. This isn't appropriate since only the userspace companion > program to the kernel driver will know which controls are supported. > Make the configfs attributes that point to those fields read/write > so userspace can set them to appropriate values. > > Signed-off-by: Daniel Scally <dan.scally@xxxxxxxxxxxxxxxx> > --- > > This patch depends on "usb: gadget: uvc: Generalise helper functions for reuse" > from my recent series: > > https://lore.kernel.org/linux-usb/20230130093443.25644-3-dan.scally@xxxxxxxxxxxxxxxx/T/#u Odd, I think I have that in my tree, yet this fails to build with: CALL scripts/checksyscalls.sh CC [M] drivers/usb/gadget/function/uvc_configfs.o drivers/usb/gadget/function/uvc_configfs.c: In function ‘uvcg_default_processing_bm_controls_store’: drivers/usb/gadget/function/uvc_configfs.c:295:15: error: implicit declaration of function ‘__uvcg_iter_item_entries’ [-Werror=implicit-function-declaration] 295 | ret = __uvcg_iter_item_entries(page, len, __uvcg_count_item_entries, &n, | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/gadget/function/uvc_configfs.c:295:51: error: ‘__uvcg_count_item_entries’ undeclared (first use in this function) 295 | ret = __uvcg_iter_item_entries(page, len, __uvcg_count_item_entries, &n, | ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/gadget/function/uvc_configfs.c:295:51: note: each undeclared identifier is reported only once for each function it appears in drivers/usb/gadget/function/uvc_configfs.c:311:51: error: ‘__uvcg_fill_item_entries’ undeclared (first use in this function) 311 | ret = __uvcg_iter_item_entries(page, len, __uvcg_fill_item_entries, &tmp, | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/gadget/function/uvc_configfs.c: In function ‘uvcg_default_camera_bm_controls_store’: drivers/usb/gadget/function/uvc_configfs.c:465:51: error: ‘__uvcg_count_item_entries’ undeclared (first use in this function) 465 | ret = __uvcg_iter_item_entries(page, len, __uvcg_count_item_entries, &n, | ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/gadget/function/uvc_configfs.c:481:51: error: ‘__uvcg_fill_item_entries’ undeclared (first use in this function) 481 | ret = __uvcg_iter_item_entries(page, len, __uvcg_fill_item_entries, &tmp, | ^~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors What did I do wrong? thanks, greg k-h