linux_dsm_epyc7002/Documentation/DocBook/media/v4l
Sakari Ailus 6016af82ea [media] v4l2: use __u32 rather than enums in ioctl() structs
V4L2 uses the enum type in IOCTL arguments in IOCTLs that were defined until
the use of enum was considered less than ideal. Recently Rémi Denis-Courmont
brought up the issue by proposing a patch to convert the enums to unsigned:

<URL:http://www.spinics.net/lists/linux-media/msg46167.html>

This sparked a long discussion where another solution to the issue was
proposed: two sets of IOCTL structures, one with __u32 and the other with
enums, and conversion code between the two:

<URL:http://www.spinics.net/lists/linux-media/msg47168.html>

Both approaches implement a complete solution that resolves the problem. The
first one is simple but requires assuming enums and __u32 are the same in
size (so we won't break the ABI) while the second one is more complex and
less clean but does not require making that assumption.

The issue boils down to whether enums are fundamentally different from __u32
or not, and can the former be substituted by the latter. During the
discussion it was concluded that the __u32 has the same size as enums on all
archs Linux is supported: it has not been shown that replacing those enums
in IOCTL arguments would break neither source or binary compatibility. If no
such reason is found, just replacing the enums with __u32s is the way to go.

This is what this patch does. This patch is slightly different from Remi's
first RFC (link above): it uses __u32 instead of unsigned and also changes
the arguments of VIDIOC_G_PRIORITY and VIDIOC_S_PRIORITY.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-05-14 08:09:02 -03:00
..
.gitignore
biblio.xml [media] V4L: Add JPEG compression control class documentation 2012-02-28 18:54:06 -03:00
capture.c.xml
common.xml [media] doc: v4l: add documentation for selection API 2012-01-10 23:18:23 -02:00
compat.xml [media] v4l: Mark VIDIOC_SUBDEV_G_CROP and VIDIOC_SUBDEV_S_CROP obsolete 2012-04-10 17:12:13 -03:00
controls.xml [media] V4L2 Spec: fix typo 2012-05-02 11:03:03 -03:00
crop.pdf
dev-capture.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-codec.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-effect.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-event.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-osd.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-output.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-overlay.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-radio.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-raw-vbi.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-rds.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-sliced-vbi.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
dev-subdev.xml [media] v4l: Add subdev selections documentation 2012-04-10 17:11:27 -03:00
dev-teletext.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
driver.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
fdl-appendix.xml
fieldseq_bt.pdf
fieldseq_tb.pdf
func-close.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
func-ioctl.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
func-mmap.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
func-munmap.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
func-open.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
func-poll.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
func-read.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
func-select.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
func-write.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
gen-errors.xml [media] v4l2 core: return -ENOTTY if an ioctl doesn't exist 2011-07-27 17:53:38 -03:00
io.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
keytable.c.xml
libv4l.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
lirc_device_interface.xml [media] DocBook: Add return error codes to LIRC ioctl session 2011-07-27 17:53:36 -03:00
media-controller.xml
media-func-close.xml
media-func-ioctl.xml [media] DocBook: Remove V4L generic error description for ioctl() 2011-07-27 17:53:36 -03:00
media-func-open.xml
media-ioc-device-info.xml [media] DocBook: Use the generic error code page also for MC API 2011-07-27 17:53:35 -03:00
media-ioc-enum-entities.xml
media-ioc-enum-links.xml [media] v4l: Fix minor typos in the documentation 2011-07-27 17:53:10 -03:00
media-ioc-setup-link.xml [media] DocBook/media-ioc-setup-link.xml: Remove EBUSY 2011-07-27 17:53:35 -03:00
pipeline.pdf
pixfmt-grey.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-m420.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-nv12.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-nv12m.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-nv12mt.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-nv16.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-nv24.xml v4l: Add V4L2_PIX_FMT_NV24 and V4L2_PIX_FMT_NV42 formats 2011-12-19 20:07:13 +00:00
pixfmt-packed-rgb.xml [media] v4l: Add new alpha component control 2011-12-30 14:05:08 -02:00
pixfmt-packed-yuv.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-sbggr8.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-sbggr16.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-sgbrg8.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-sgrbg8.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-srggb8.xml
pixfmt-srggb10.xml
pixfmt-srggb12.xml
pixfmt-uyvy.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-vyuy.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-y10.xml
pixfmt-y10b.xml
pixfmt-y12.xml
pixfmt-y16.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-y41p.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-yuv410.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-yuv411p.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-yuv420.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-yuv420m.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-yuv422p.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-yuyv.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt-yvyu.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
pixfmt.xml Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-01-15 12:49:56 -08:00
planar-apis.xml
remote_controllers.xml
selection-api.xml [media] V4L: Improve the selection API documentation 2012-03-19 15:33:24 -03:00
subdev-formats.xml [media] v4l: Fix minor typos in the documentation 2011-07-27 17:53:10 -03:00
subdev-image-processing-crop.dia [media] v4l: Add subdev selections documentation: svg and dia files 2012-04-10 17:11:21 -03:00
subdev-image-processing-crop.svg [media] v4l: Add subdev selections documentation: svg and dia files 2012-04-10 17:11:21 -03:00
subdev-image-processing-full.dia [media] v4l: Add subdev selections documentation: svg and dia files 2012-04-10 17:11:21 -03:00
subdev-image-processing-full.svg [media] v4l: Add subdev selections documentation: svg and dia files 2012-04-10 17:11:21 -03:00
subdev-image-processing-scaling-multi-source.dia [media] v4l: Add subdev selections documentation: svg and dia files 2012-04-10 17:11:21 -03:00
subdev-image-processing-scaling-multi-source.svg [media] v4l: Add subdev selections documentation: svg and dia files 2012-04-10 17:11:21 -03:00
v4l2.xml [media] v4l: Add subdev selections documentation 2012-04-10 17:11:27 -03:00
v4l2grab.c.xml
vbi_525.pdf
vbi_625.pdf
vbi_hsync.pdf
vidioc-create-bufs.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-cropcap.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-dbg-g-chip-ident.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-dbg-g-register.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-decoder-cmd.xml [media] Fix small DocBook typo 2012-03-08 12:13:18 -03:00
vidioc-dqevent.xml [media] v4l: events: Define V4L2_EVENT_FRAME_SYNC 2011-08-29 12:37:15 -03:00
vidioc-encoder-cmd.xml [media] v4l spec: document VIDIOC_(TRY_)DECODER_CMD 2012-02-14 13:42:34 -02:00
vidioc-enum-dv-presets.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
vidioc-enum-fmt.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-enum-frameintervals.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-enum-framesizes.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-enumaudio.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-enumaudioout.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-enuminput.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
vidioc-enumoutput.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
vidioc-enumstd.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
vidioc-g-audio.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-g-audioout.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-g-crop.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-g-ctrl.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
vidioc-g-dv-preset.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-g-dv-timings.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-g-enc-index.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-g-ext-ctrls.xml [media] V4L: JPEG class documentation corrections 2012-04-10 23:06:08 -03:00
vidioc-g-fbuf.xml [media] v4l2 spec: clarify usage of V4L2_FBUF_FLAG_OVERLAY 2012-01-16 09:35:55 -02:00
vidioc-g-fmt.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-g-frequency.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-g-input.xml [media] V4L2 Spec: improve the G/S_INPUT/OUTPUT documentation 2012-01-16 09:38:29 -02:00
vidioc-g-jpegcomp.xml [media] V4L: Add JPEG compression control class documentation 2012-02-28 18:54:06 -03:00
vidioc-g-modulator.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
vidioc-g-output.xml [media] V4L2 Spec: improve the G/S_INPUT/OUTPUT documentation 2012-01-16 09:38:29 -02:00
vidioc-g-parm.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-g-priority.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
vidioc-g-selection.xml [media] V4L: Improve the selection API documentation 2012-03-19 15:33:24 -03:00
vidioc-g-sliced-vbi-cap.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-g-std.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
vidioc-g-tuner.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-log-status.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-overlay.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-prepare-buf.xml [media] V4L: document the new VIDIOC_CREATE_BUFS and VIDIOC_PREPARE_BUF ioctl()s 2011-11-03 18:28:27 -02:00
vidioc-qbuf.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-query-dv-preset.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-querybuf.xml [media] Remove unneeded comments from the media API DocBook files 2011-12-11 09:16:53 -02:00
vidioc-querycap.xml [media] V4L2: Add per-device-node capabilities 2012-01-23 16:34:27 -02:00
vidioc-queryctrl.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-querystd.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-reqbufs.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-s-hw-freq-seek.xml [media] v4l2: use __u32 rather than enums in ioctl() structs 2012-05-14 08:09:02 -03:00
vidioc-streamon.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-subdev-enum-frame-interval.xml
vidioc-subdev-enum-frame-size.xml
vidioc-subdev-enum-mbus-code.xml
vidioc-subdev-g-crop.xml [media] v4l: Mark VIDIOC_SUBDEV_G_CROP and VIDIOC_SUBDEV_S_CROP obsolete 2012-04-10 17:12:13 -03:00
vidioc-subdev-g-fmt.xml [media] DocBook: Use the generic ioctl error codes for all V4L ioctl's 2011-07-27 17:53:35 -03:00
vidioc-subdev-g-frame-interval.xml
vidioc-subdev-g-selection.xml [media] v4l: Add subdev selections documentation 2012-04-10 17:11:27 -03:00
vidioc-subscribe-event.xml [media] v4l: events: Define V4L2_EVENT_FRAME_SYNC 2011-08-29 12:37:15 -03:00