|
@@ -249,6 +249,38 @@ static int vidioc_s_ctrl(struct file *file, void *priv,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
+static int vidioc_g_audio(struct file *file, void *priv,
|
|
|
+ struct v4l2_audio *a)
|
|
|
+{
|
|
|
+ if (a->index > 1)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
+ strcpy(a->name, "Radio");
|
|
|
+ a->capability = V4L2_AUDCAP_STEREO;
|
|
|
+ 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,
|
|
|
+ struct v4l2_audio *a)
|
|
|
+{
|
|
|
+ if (a->index != 0)
|
|
|
+ return -EINVAL;
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
static struct rt_device rtrack2_unit;
|
|
|
|
|
|
static const struct file_operations rtrack2_fops = {
|
|
@@ -275,6 +307,10 @@ static struct video_device rtrack2_radio=
|
|
|
.vidioc_queryctrl = vidioc_queryctrl,
|
|
|
.vidioc_g_ctrl = vidioc_g_ctrl,
|
|
|
.vidioc_s_ctrl = vidioc_s_ctrl,
|
|
|
+ .vidioc_g_audio = vidioc_g_audio,
|
|
|
+ .vidioc_s_audio = vidioc_s_audio,
|
|
|
+ .vidioc_g_input = vidioc_g_input,
|
|
|
+ .vidioc_s_input = vidioc_s_input,
|
|
|
};
|
|
|
|
|
|
static int __init rtrack2_init(void)
|