IMHO, this tells that “it’s about time”:
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2025 Jarkko Sakkinen
* Copyright (c) 2010-2023 IOhannes M. Zmoelnig
* Copyright (c) 2016 Gavin Qiu
* Copyright (c) 2016 George Chriss
* Copyright (c) 2014-2015 Tasos Sahanidis
* Copyright (c) 2012-2015 Yusuke Ohshima
* Copyright (c) 2015 Kurt Kiefer
* Copyright (c) 2015 Michel Promonet
* Copyright (c) 2015 Paul Brook
* Copyright (c) 2015 Tom Zerucha
* Copyright (c) 2013 Aidan Thornton
* Copyright (c) 2013 Anatolij Gustschin
* Copyright (c) 2012 Ted Mielczarek
* Copyright (c) 2012 Anton Novikov
* Copyright (c) 2011 Stefan Diewald
* Copyright (c) 2010 Scott Maines
* Copyright (c) 2009 Gorinich Zmey
* Copyright (c) 2005-2009 Vasily Levin
*/
The kref change was internal prequel, and this first API break is the external prequel:
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
#ifndef _UAPI_LINUX_VIDEO_LOOP_H
#define _UAPI_LINUX_VIDEO_LOOP_H
#include <linux/types.h>
#include <linux/ioctl.h>
struct video_loop_config {
__u32 device_nr;
__u32 device_fd;
__u32 capabilities;
__u32 min_width;
__u32 max_width;
__u32 min_height;
__u32 max_height;
char card_label[32];
};
#define VIDEO_LOOP_CTL_ADD _IOW('v', 0x00, struct video_loop_config)
#define VIDEO_LOOP_CTL_REMOVE _IOW('v', 0x01, __u32)
#endif /* _UAPI_LINUX_VIDEO_LOOP_H */
If you have any comments on the fields, please spare me dude ;-) I don’t expect this to be final as in FINAL. It is good enough for RFC.
Glitches that will be fixed by anonymous inode:
device_fd
is still unfilled.capabilities
accepts right now only V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT
.
VIDEO_LOOP_CTL_REMOVE
is ought to be deleted.