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?