Commit 3b8bc891 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Mauro Carvalho Chehab
Browse files

media: v4l2: remove unneeded compat ioctl handlers



These seven commands are all compatible and do not need any
conversion handlers. The existing ones just copy 32-bit
integers around, and those are always compatible.

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 8dbcc3fa
Loading
Loading
Loading
Loading
+0 −42
Original line number Diff line number Diff line
@@ -1406,14 +1406,6 @@ static int put_v4l2_edid32(struct v4l2_edid __user *p64,
#define VIDIOC_PREPARE_BUF32	_IOWR('V', 93, struct v4l2_buffer32)
#define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct v4l2_buffer32_time32)

#define VIDIOC_OVERLAY32	_IOW ('V', 14, s32)
#define VIDIOC_STREAMON32	_IOW ('V', 18, s32)
#define VIDIOC_STREAMOFF32	_IOW ('V', 19, s32)
#define VIDIOC_G_INPUT32	_IOR ('V', 38, s32)
#define VIDIOC_S_INPUT32	_IOWR('V', 39, s32)
#define VIDIOC_G_OUTPUT32	_IOR ('V', 46, s32)
#define VIDIOC_S_OUTPUT32	_IOWR('V', 47, s32)

unsigned int v4l2_compat_translate_cmd(unsigned int cmd)
{
	switch (cmd) {
@@ -1544,13 +1536,6 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
	case VIDIOC_DQEVENT32: ncmd = VIDIOC_DQEVENT; break;
	case VIDIOC_DQEVENT32_TIME32: ncmd = VIDIOC_DQEVENT_TIME32; break;
#endif
	case VIDIOC_OVERLAY32: ncmd = VIDIOC_OVERLAY; break;
	case VIDIOC_STREAMON32: ncmd = VIDIOC_STREAMON; break;
	case VIDIOC_STREAMOFF32: ncmd = VIDIOC_STREAMOFF; break;
	case VIDIOC_G_INPUT32: ncmd = VIDIOC_G_INPUT; break;
	case VIDIOC_S_INPUT32: ncmd = VIDIOC_S_INPUT; break;
	case VIDIOC_G_OUTPUT32: ncmd = VIDIOC_G_OUTPUT; break;
	case VIDIOC_S_OUTPUT32: ncmd = VIDIOC_S_OUTPUT; break;
	case VIDIOC_CREATE_BUFS32: ncmd = VIDIOC_CREATE_BUFS; break;
	case VIDIOC_PREPARE_BUF32: ncmd = VIDIOC_PREPARE_BUF; break;
	case VIDIOC_PREPARE_BUF32_TIME32: ncmd = VIDIOC_PREPARE_BUF_TIME32; break;
@@ -1565,24 +1550,6 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
	 * argument into it.
	 */
	switch (cmd) {
	case VIDIOC_OVERLAY32:
	case VIDIOC_STREAMON32:
	case VIDIOC_STREAMOFF32:
	case VIDIOC_S_INPUT32:
	case VIDIOC_S_OUTPUT32:
		err = alloc_userspace(sizeof(unsigned int), 0, &new_p64);
		if (!err && assign_in_user((unsigned int __user *)new_p64,
					   (compat_uint_t __user *)p32))
			err = -EFAULT;
		compatible_arg = 0;
		break;

	case VIDIOC_G_INPUT32:
	case VIDIOC_G_OUTPUT32:
		err = alloc_userspace(sizeof(unsigned int), 0, &new_p64);
		compatible_arg = 0;
		break;

	case VIDIOC_G_EDID32:
	case VIDIOC_S_EDID32:
		err = alloc_userspace(sizeof(struct v4l2_edid), 0, &new_p64);
@@ -1755,15 +1722,6 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
	 * the original 32 bits structure.
	 */
	switch (cmd) {
	case VIDIOC_S_INPUT32:
	case VIDIOC_S_OUTPUT32:
	case VIDIOC_G_INPUT32:
	case VIDIOC_G_OUTPUT32:
		if (assign_in_user((compat_uint_t __user *)p32,
				   ((unsigned int __user *)new_p64)))
			err = -EFAULT;
		break;

	case VIDIOC_G_FBUF32:
		err = put_v4l2_framebuffer32(new_p64, p32);
		break;