On Thu, Feb 02, 2023 at 10:25:20AM +0000, Dan Scally wrote: > Hi Greg > > On 02/02/2023 10:18, Greg KH wrote: > > 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? > > > That's the error set I would expect if you didn't have that series earlier > in the tree as __uvcg_iter_item_entries() is declared in one of those > patches...if you have a link to the tree I can look more closely for you? It's my usb-testing branch right now, rebase on that and see what happens. thanks, greg k-h