<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/media/v4l2-ioctl.h, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-08-13T06:33:56Z</updated>
<entry>
<title>media: v4l2-ioctl: Stop passing fh pointer to ioctl handlers</title>
<updated>2025-08-13T06:33:56Z</updated>
<author>
<name>Laurent Pinchart</name>
</author>
<published>2025-08-10T01:30:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0f1a7facb64abe5104c3eb235824ea8d6296474d'/>
<id>urn:sha1:0f1a7facb64abe5104c3eb235824ea8d6296474d</id>
<content type='text'>
Now that all drivers access the v4l2_fh from the file structure, there
is no need to pass it as an explicit argument to ioctl handlers. Set the
argument to NULL in the __video_do_ioctl() function, and rename the 'fh'
argument in the ioctl handler declarations to 'priv' indicate it does
not contain a file handle.

The argument could be removed altogether with a mechanical change
(probably using coccinelle), but there are plans to pass a new argument
to the ioctl handlers in the near future. The tree-wide change to remove
the argument, only to add another one soon after, would be too much
churn.

While at it, fix argument alignment in vidioc_try_fmt_vid_out_overlay().

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart+renesas@ideasonboard.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil+cisco@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: core: export v4l2_translate_cmd</title>
<updated>2025-07-11T17:27:28Z</updated>
<author>
<name>Ricardo Ribalda</name>
</author>
<published>2025-07-01T06:45:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1657624a69fcfd3f27ba6223e1c8fb6a16815568'/>
<id>urn:sha1:1657624a69fcfd3f27ba6223e1c8fb6a16815568</id>
<content type='text'>
video_translate_cmd() can be useful for drivers to convert between the
VIDIOC_*32 and VIDIOC_ defines. Let's export it.

Now that the function is exported, use this opportunity to rename the
function with the v4l2_ prefix, that is less ambiguous than video_

The VIDIOC_*32 defines are not accessible by the drivers, they live in
v4l2-compat-ioctl32.c.

Reviewed-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
Signed-off-by: Ricardo Ribalda &lt;ribalda@chromium.org&gt;
Link: https://lore.kernel.org/r/20250701-uvc-grannular-invert-v4-6-8003b9b89f68@chromium.org
Signed-off-by: Hans de Goede &lt;hansg@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>media: v4l2: Remove vidioc_s_ctrl callback</title>
<updated>2025-03-05T09:43:26Z</updated>
<author>
<name>Ricardo Ribalda</name>
</author>
<published>2025-02-23T18:58:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0d75129312ff59280c053b36e098c3ec89110ebb'/>
<id>urn:sha1:0d75129312ff59280c053b36e098c3ec89110ebb</id>
<content type='text'>
All the drivers either use the control framework or provide a
vidiod_ext_ctrl. We can remove this callback.

Signed-off-by: Ricardo Ribalda &lt;ribalda@chromium.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: v4l2: Remove vidioc_g_ctrl callback</title>
<updated>2025-03-05T09:43:26Z</updated>
<author>
<name>Ricardo Ribalda</name>
</author>
<published>2025-02-23T18:58:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=70307f28ee617fdd9d3f941dd34fec2e91e14089'/>
<id>urn:sha1:70307f28ee617fdd9d3f941dd34fec2e91e14089</id>
<content type='text'>
All the drivers either use the control framework or provide a
vidioc_g_ext_ctrls callback. We can remove this callback.

Thanks for your service!

Signed-off-by: Ricardo Ribalda &lt;ribalda@chromium.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: v4l2: Remove vidioc_queryctrl callback</title>
<updated>2025-03-05T09:43:25Z</updated>
<author>
<name>Ricardo Ribalda</name>
</author>
<published>2025-02-23T18:58:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0f6b05e069a7901f30ab0812beb8ee748a93a2a5'/>
<id>urn:sha1:0f6b05e069a7901f30ab0812beb8ee748a93a2a5</id>
<content type='text'>
All the drivers either use the control framework or provide a
vidioc_query_ext_ctrl. We can remove this callback to reduce the
temptation of new drivers to implement it.

Signed-off-by: Ricardo Ribalda &lt;ribalda@chromium.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: v4l2: Add REMOVE_BUFS ioctl</title>
<updated>2024-03-25T11:00:44Z</updated>
<author>
<name>Benjamin Gaignard</name>
</author>
<published>2024-03-14T15:32:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a3293a85381ec9680aa2929547fbc76c5d87a1b2'/>
<id>urn:sha1:a3293a85381ec9680aa2929547fbc76c5d87a1b2</id>
<content type='text'>
VIDIOC_REMOVE_BUFS ioctl allows to remove buffers from a queue.
The number of buffers to remove in given by count field of
struct v4l2_remove_buffers and the range start at the index
specified in the same structure.

Signed-off-by: Benjamin Gaignard &lt;benjamin.gaignard@collabora.com&gt;
Reviewed-by: Mauro Carvalho Chehab &lt;mchehab@kernel.org&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
[hverkuil: vidioc-remove-bufs.rst: mention no bufs are freed on error]
</content>
</entry>
<entry>
<title>media: v4l2: prepare compat-ioctl rework</title>
<updated>2020-11-16T09:31:05Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2020-10-30T16:55:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8dbcc3fa387c16abfc88a628cf528c439c91b332'/>
<id>urn:sha1:8dbcc3fa387c16abfc88a628cf528c439c91b332</id>
<content type='text'>
The v4l2-compat-ioctl32() currently takes an extra round trip through user
space pointers when converting the data structure formats. In particular,
this involves using the compat_alloc_user_space() and copy_in_user()
helpers that often lead to worse compat handlers compared to using
in_compat_syscall() checks when copying the data.

The native implementation already gained a simpler method to deal with
the conversion for the time32 conversion.  Hook into the same places to
provide a location for reading and writing user space data from inside
of the generic video_usercopy() helper.

Hans Verkuil rewrote the video_get_user() function here to simplify
the zeroing of the extra input fields and fixed a couple of bugs in
the original implementation.

[hverkuil: fix: CHECK: Please don't use multiple blank lines]

Co-developed-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: v4l2-core: fix v4l2_buffer handling for time64 ABI</title>
<updated>2020-01-03T14:50:21Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2019-12-16T14:15:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=577c89b0ce726e44c08c396d14f84a00070a57b7'/>
<id>urn:sha1:577c89b0ce726e44c08c396d14f84a00070a57b7</id>
<content type='text'>
The v4l2_buffer structure contains a 'struct timeval' member that is
defined by the user space C library, creating an ABI incompatibility
when that gets updated to a 64-bit time_t.

As in v4l2_event, handle this with a special case in video_put_user()
and video_get_user() to replace the memcpy there.

Since the structure also contains a pointer, there are now two
native versions (on 32-bit systems) as well as two compat versions
(on 64-bit systems), which unfortunately complicates the compat
handler quite a bit.

Duplicating the existing handlers for the new types is a safe
conversion for now, but unfortunately this may turn into a
maintenance burden later. A larger-scale rework of the
compat code might be a better alternative, but is out of scope
of the y2038 work.

Sparc64 needs a special case because of their special suseconds_t
definition.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: v4l2-core: fix VIDIOC_DQEVENT for time64 ABI</title>
<updated>2020-01-03T14:47:57Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2019-12-16T14:15:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a6c0b36dd19c51cdd76895d009c5deba2286ebb'/>
<id>urn:sha1:1a6c0b36dd19c51cdd76895d009c5deba2286ebb</id>
<content type='text'>
The v4l2_event structure contains a 'struct timespec' member that is
defined by the user space C library, creating an ABI incompatibility
when that gets updated to a 64-bit time_t.

While passing a 32-bit time_t here would be sufficient for CLOCK_MONOTONIC
timestamps, simply redefining the structure to use the kernel's
__kernel_old_timespec would not work for any library that uses a copy
of the linux/videodev2.h header file rather than including the copy from
the latest kernel headers.

This means the kernel has to be changed to handle both versions of the
structure layout on a 32-bit architecture. The easiest way to do this
is during the copy from/to user space.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;
</content>
</entry>
<entry>
<title>media: v4l: ctrls: Add debug messages</title>
<updated>2019-07-25T10:26:49Z</updated>
<author>
<name>Ezequiel Garcia</name>
</author>
<published>2019-07-20T11:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=173f6eacc8a89ae4b08b166735930e6c46951a81'/>
<id>urn:sha1:173f6eacc8a89ae4b08b166735930e6c46951a81</id>
<content type='text'>
Currently, the v4l2 control code is a bit silent on errors.
Add debug messages on (hopefully) most of the error paths.

Signed-off-by: Ezequiel Garcia &lt;ezequiel@collabora.com&gt;
Signed-off-by: Hans Verkuil &lt;hverkuil-cisco@xs4all.nl&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
</content>
</entry>
</feed>
