The device does not implement the control properly. Fixes v4l2-compliance error: info: checking control 'Power Line Frequency' (0x00980918) fail: v4l2-test-controls.cpp(552): could not set valid menu item 3 Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> --- This camera, like other Chicony devices, do not implement properly the Power Line Frequency control. This time, I do not have direct access to the device, just to the report, but since other devices from the same family are showing the same error, it is safe to assume that the same fix will work here. --- Changes in v2: - Fix IntefaceProtocol, the camera is uvc1.5 - I managed to write 0 to the control, so the proper quirk is uvc11 not limited - Changes by Laurent: - Rename device - s/v4l/v4l2 - Link to v1: https://lore.kernel.org/r/20230817-chicony-v1-1-76bde4d6ff6b@xxxxxxxxxxxx --- drivers/media/usb/uvc/uvc_driver.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c index 08fcd2ffa727..4b5ea3501753 100644 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c @@ -2592,6 +2592,15 @@ static const struct usb_device_id uvc_ids[] = { .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited }, + /* Chicony Electronics Co., Ltd Integrated Camera */ + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = 0x04f2, + .idProduct = 0xb67c, + .bInterfaceClass = USB_CLASS_VIDEO, + .bInterfaceSubClass = 1, + .bInterfaceProtocol = UVC_PC_PROTOCOL_15, + .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_uvc11 }, /* Chicony EasyCamera */ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, --- base-commit: 4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6 change-id: 20230817-chicony-9c35f2046c6f Best regards, -- Ricardo Ribalda <ribalda@xxxxxxxxxxxx>