This patch set implements UVC v1.5 regioin of interest using V4L2 control API. ROI control is consisted an auto control with type bitmask and a rectangle control with a newly added type V4L2_CTRL_TYPE_RECT. V4L2_CTRL_WHICH_MIN/MAX_VAL is added to support the rectangle control. A rectangle control is also added to the vivid test driver. Tested on two different usb cameras using v4l2-ctl and calling ioctls. Yunke Cao (6): media: v4l2_ctrl: Add region of interest rectangle control media: v4l2_ctrl: Add region of interest auto control media: v4l2_ctrl: Add V4L2_CTRL_WHICH_MIN/MAX_VAL media: uvcvideo: implement UVC v1.5 ROI media: uvcvideo: Initialize roi to default value media: vivid: Add a roi rectangle control .../userspace-api/media/drivers/uvcvideo.rst | 1 + .../media/v4l/ext-ctrls-camera.rst | 49 ++++ .../media/v4l/vidioc-g-ext-ctrls.rst | 12 +- .../media/videodev2.h.rst.exceptions | 3 + drivers/media/i2c/imx214.c | 4 +- .../media/test-drivers/vivid/vivid-ctrls.c | 34 +++ drivers/media/usb/uvc/uvc_ctrl.c | 214 ++++++++++++++++-- drivers/media/usb/uvc/uvc_v4l2.c | 12 +- drivers/media/usb/uvc/uvcvideo.h | 10 +- drivers/media/v4l2-core/v4l2-ctrls-api.c | 51 ++++- drivers/media/v4l2-core/v4l2-ctrls-core.c | 155 ++++++++++++- drivers/media/v4l2-core/v4l2-ctrls-defs.c | 7 + drivers/media/v4l2-core/v4l2-ioctl.c | 4 +- include/media/v4l2-ctrls.h | 32 ++- include/uapi/linux/usb/video.h | 1 + include/uapi/linux/uvcvideo.h | 1 + include/uapi/linux/v4l2-controls.h | 11 + include/uapi/linux/videodev2.h | 4 + 18 files changed, 553 insertions(+), 52 deletions(-) -- 2.36.0.550.gb090851708-goog