The UVC standard descries the values for the PLF control for its versions 1.1 and and 1.5, but it does not describe which values MUST be implemented. So far, we have been adding "device quirks" to provide proper limits for the control, but this is failing to scale. Add a function that during probe-time checks the capability of the control. Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> --- Changes in v2: Thanks Laurent - Cleanup mapings from uvc_device_info - Use __free() - Implement filter_mapping - Link to v1: https://lore.kernel.org/r/20240318-billion-v1-0-2f7bc0ee2030@xxxxxxxxxxxx --- Ricardo Ribalda (7): media: uvcvideo: Allow custom control mapping media: uvcvideo: Refactor Power Line Frequency limit selection media: uvcvideo: Probe the PLF characteristics media: uvcvideo: Cleanup version-specific mapping media: uvcvideo: Remove PLF device quirking media: uvcvideo: Remove mappings form uvc_device_info media: uvcvideo: Replace get_mapping with filter_mapping drivers/media/usb/uvc/uvc_ctrl.c | 191 ++++++++++++++++++++----------------- drivers/media/usb/uvc/uvc_driver.c | 122 ----------------------- drivers/media/usb/uvc/uvcvideo.h | 8 +- 3 files changed, 109 insertions(+), 212 deletions(-) --- base-commit: b14257abe7057def6127f6fb2f14f9adc8acabdb change-id: 20240313-billion-5b2a45fa86f4 Best regards, -- Ricardo Ribalda <ribalda@xxxxxxxxxxxx>