瀏覽代碼

V4L/DVB (5152): Implements VIDIOC_[S|G]_INPUT on radio-aztech/radio-maxiradio

fmtools use VIDIOCSTUNER, with, in turn, calls VIDIOC_S_INPUT on v4l1-compat.
So, those ioctls are required for V4L1  to work properly.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab 18 年之前
父節點
當前提交
a0c05ab976
共有 2 個文件被更改,包括 32 次插入0 次删除
  1. 16 0
      drivers/media/radio/radio-aztech.c
  2. 16 0
      drivers/media/radio/radio-maxiradio.c

+ 16 - 0
drivers/media/radio/radio-aztech.c

@@ -237,6 +237,20 @@ static int vidioc_g_audio (struct file *file, void *priv,
 	return 0;
 	return 0;
 }
 }
 
 
+static int vidioc_g_input(struct file *filp, void *priv, unsigned int *i)
+{
+	*i = 0;
+	return 0;
+}
+
+static int vidioc_s_input(struct file *filp, void *priv, unsigned int i)
+{
+	if (i != 0)
+		return -EINVAL;
+	return 0;
+}
+
+
 static int vidioc_s_audio (struct file *file, void *priv,
 static int vidioc_s_audio (struct file *file, void *priv,
 			   struct v4l2_audio *a)
 			   struct v4l2_audio *a)
 {
 {
@@ -348,6 +362,8 @@ static struct video_device aztech_radio=
 	.vidioc_s_tuner     = vidioc_s_tuner,
 	.vidioc_s_tuner     = vidioc_s_tuner,
 	.vidioc_g_audio     = vidioc_g_audio,
 	.vidioc_g_audio     = vidioc_g_audio,
 	.vidioc_s_audio     = vidioc_s_audio,
 	.vidioc_s_audio     = vidioc_s_audio,
+	.vidioc_g_input     = vidioc_g_input,
+	.vidioc_s_input     = vidioc_s_input,
 	.vidioc_g_frequency = vidioc_g_frequency,
 	.vidioc_g_frequency = vidioc_g_frequency,
 	.vidioc_s_frequency = vidioc_s_frequency,
 	.vidioc_s_frequency = vidioc_s_frequency,
 	.vidioc_queryctrl   = vidioc_queryctrl,
 	.vidioc_queryctrl   = vidioc_queryctrl,

+ 16 - 0
drivers/media/radio/radio-maxiradio.c

@@ -231,6 +231,20 @@ static int vidioc_g_audio (struct file *file, void *priv,
 	return 0;
 	return 0;
 }
 }
 
 
+static int vidioc_g_input(struct file *filp, void *priv, unsigned int *i)
+{
+	*i = 0;
+	return 0;
+}
+
+static int vidioc_s_input(struct file *filp, void *priv, unsigned int i)
+{
+	if (i != 0)
+		return -EINVAL;
+	return 0;
+}
+
+
 static int vidioc_s_audio (struct file *file, void *priv,
 static int vidioc_s_audio (struct file *file, void *priv,
 			   struct v4l2_audio *a)
 			   struct v4l2_audio *a)
 {
 {
@@ -326,6 +340,8 @@ static struct video_device maxiradio_radio =
 	.vidioc_s_tuner     = vidioc_s_tuner,
 	.vidioc_s_tuner     = vidioc_s_tuner,
 	.vidioc_g_audio     = vidioc_g_audio,
 	.vidioc_g_audio     = vidioc_g_audio,
 	.vidioc_s_audio     = vidioc_s_audio,
 	.vidioc_s_audio     = vidioc_s_audio,
+	.vidioc_g_input     = vidioc_g_input,
+	.vidioc_s_input     = vidioc_s_input,
 	.vidioc_g_frequency = vidioc_g_frequency,
 	.vidioc_g_frequency = vidioc_g_frequency,
 	.vidioc_s_frequency = vidioc_s_frequency,
 	.vidioc_s_frequency = vidioc_s_frequency,
 	.vidioc_queryctrl   = vidioc_queryctrl,
 	.vidioc_queryctrl   = vidioc_queryctrl,