linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 00/17] uvcvideo: Fix v4l2-compliance errors
@ 2021-03-17 16:44 Ricardo Ribalda
  2021-03-17 16:44 ` [PATCH v6 01/17] media: v4l2-ioctl: check_ext_ctrls: Fix multiclass V4L2_CTRL_WHICH_DEF_VAL Ricardo Ribalda
                   ` (17 more replies)
  0 siblings, 18 replies; 30+ messages in thread
From: Ricardo Ribalda @ 2021-03-17 16:44 UTC (permalink / raw)
  To: Laurent Pinchart, Mauro Carvalho Chehab, Hans Verkuil,
	Sergey Senozhatsky, linux-media, linux-kernel, tfiga
  Cc: Ricardo Ribalda

v4l2-compliance -m /dev/media0 -a -f
Total for uvcvideo device /dev/media0: 8, Succeeded: 6, Failed: 2, Warnings: 0
Total for uvcvideo device /dev/video0: 54, Succeeded: 50, Failed: 4, Warnings: 2
Total for uvcvideo device /dev/video1: 46, Succeeded: 46, Failed: 0, Warnings: 0
Grand Total for uvcvideo device /dev/media0: 108, Succeeded: 102,
Failed: 6, Warnings: 2

After fixing all of them we go down to:

Total for uvcvideo device /dev/media0: 8, Succeeded: 8, Failed: 0, Warnings: 0
Total for uvcvideo device /dev/video0: 54, Succeeded: 54, Failed: 0, Warnings: 0
Total for uvcvideo device /dev/video1: 46, Succeeded: 46, Failed: 0, Warnings: 0
Grand Total for uvcvideo device /dev/media0: 108, Succeeded: 108,
Failed: 0, Warnings: 0

YES, NO MORE WARNINGS :)

Note that we depend on:
https://patchwork.linuxtv.org/project/linux-media/patch/20210315172531.101694-1-ribalda@chromium.org/

With Hans patch we can also pass v4l2-compliance -s.

Changelog  from v5 (Thanks to Hans)
- Move more checks to framework
- Rewrite the framework check_ext_ctrls
- Rewrite ctrl_is_inactive
- Add function ctrl_is_accessible
- Use ioctl name instead of boolean values

Hans Verkuil (1):
  uvc: use vb2 ioctl and fop helpers

Ricardo Ribalda (16):
  media: v4l2-ioctl: check_ext_ctrls: Fix multiclass
    V4L2_CTRL_WHICH_DEF_VAL
  media: v4l2-ioctl: check_ext_ctrls: Return -EINVAL on
    V4L2_CTRL_WHICH_REQUEST_VAL
  media: v4l2-ioctl: check_ext_ctrls: Return the right error_idx
  media: v4l2-ioctl: check_ext_ctrls: Fix V4L2_CTRL_WHICH_DEF_VAL
  media: pvrusb2: Do not check for V4L2_CTRL_WHICH_DEF_VAL
  media: uvcvideo: Do not check for V4L2_CTRL_WHICH_DEF_VAL
  media: uvcvideo: Set capability in s_param
  media: uvcvideo: Return -EIO for control errors
  media: uvcvideo: refactor __uvc_ctrl_add_mapping
  media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS
  media: uvcvideo: Use dev->name for querycap()
  media: uvcvideo: Set unique vdev name based in type
  media: uvcvideo: Increase the size of UVC_METADATA_BUF_SIZE
  media: uvcvideo: Use control names from framework
  media: uvcvideo: Check controls flags before accessing them
  media: uvcvideo: Return -EACCES to inactive controls

 drivers/media/usb/pvrusb2/pvrusb2-v4l2.c |   4 -
 drivers/media/usb/uvc/uvc_ctrl.c         | 284 ++++++++++++++----
 drivers/media/usb/uvc/uvc_driver.c       |  22 +-
 drivers/media/usb/uvc/uvc_metadata.c     |   8 +-
 drivers/media/usb/uvc/uvc_queue.c        | 143 ---------
 drivers/media/usb/uvc/uvc_v4l2.c         | 352 +++++------------------
 drivers/media/usb/uvc/uvc_video.c        |  13 +-
 drivers/media/usb/uvc/uvcvideo.h         |  43 +--
 drivers/media/v4l2-core/v4l2-ioctl.c     |  59 ++--
 9 files changed, 366 insertions(+), 562 deletions(-)

-- 
2.31.0.rc2.261.g7f71774620-goog


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2021-03-18  9:24 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-17 16:44 [PATCH v6 00/17] uvcvideo: Fix v4l2-compliance errors Ricardo Ribalda
2021-03-17 16:44 ` [PATCH v6 01/17] media: v4l2-ioctl: check_ext_ctrls: Fix multiclass V4L2_CTRL_WHICH_DEF_VAL Ricardo Ribalda
2021-03-18  7:14   ` Hans Verkuil
2021-03-18  7:17     ` Ricardo Ribalda
2021-03-18  7:48       ` Hans Verkuil
2021-03-18  7:49         ` Ricardo Ribalda
2021-03-17 16:44 ` [PATCH v6 02/17] media: v4l2-ioctl: check_ext_ctrls: Return -EINVAL on V4L2_CTRL_WHICH_REQUEST_VAL Ricardo Ribalda
2021-03-17 16:44 ` [PATCH v6 03/17] media: v4l2-ioctl: check_ext_ctrls: Return the right error_idx Ricardo Ribalda
2021-03-17 16:44 ` [PATCH v6 04/17] media: v4l2-ioctl: check_ext_ctrls: Fix V4L2_CTRL_WHICH_DEF_VAL Ricardo Ribalda
2021-03-17 16:44 ` [PATCH v6 05/17] media: pvrusb2: Do not check for V4L2_CTRL_WHICH_DEF_VAL Ricardo Ribalda
2021-03-18  7:16   ` Hans Verkuil
2021-03-17 16:45 ` [PATCH v6 06/17] media: uvcvideo: " Ricardo Ribalda
2021-03-18  7:16   ` Hans Verkuil
2021-03-17 16:45 ` [PATCH v6 07/17] media: uvcvideo: Set capability in s_param Ricardo Ribalda
2021-03-17 16:45 ` [PATCH v6 08/17] media: uvcvideo: Return -EIO for control errors Ricardo Ribalda
2021-03-17 16:45 ` [PATCH v6 09/17] media: uvcvideo: refactor __uvc_ctrl_add_mapping Ricardo Ribalda
2021-03-18  7:23   ` Hans Verkuil
2021-03-17 16:45 ` [PATCH v6 10/17] media: uvcvideo: Add support for V4L2_CTRL_TYPE_CTRL_CLASS Ricardo Ribalda
2021-03-17 16:45 ` [PATCH v6 11/17] media: uvcvideo: Use dev->name for querycap() Ricardo Ribalda
2021-03-18  8:05   ` Hans Verkuil
2021-03-17 16:45 ` [PATCH v6 12/17] media: uvcvideo: Set unique vdev name based in type Ricardo Ribalda
2021-03-17 16:45 ` [PATCH v6 13/17] media: uvcvideo: Increase the size of UVC_METADATA_BUF_SIZE Ricardo Ribalda
2021-03-17 16:45 ` [PATCH v6 14/17] media: uvcvideo: Use control names from framework Ricardo Ribalda
2021-03-17 16:45 ` [PATCH v6 15/17] media: uvcvideo: Check controls flags before accessing them Ricardo Ribalda
2021-03-18  7:27   ` Hans Verkuil
2021-03-17 16:45 ` [PATCH v6 16/17] media: uvcvideo: Return -EACCES to inactive controls Ricardo Ribalda
2021-03-18  7:39   ` Hans Verkuil
2021-03-18  9:09     ` Hans Verkuil
2021-03-17 16:45 ` [PATCH v6 17/17] uvc: use vb2 ioctl and fop helpers Ricardo Ribalda
2021-03-18  9:23 ` [PATCH v6 00/17] uvcvideo: Fix v4l2-compliance errors Hans Verkuil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).