tree-wide: fix assorted typos all over the place
[safe/jmp/linux-2.6] / drivers / media / video / hexium_orion.c
index 8d3c148..39d65ca 100644 (file)
@@ -57,14 +57,6 @@ struct hexium_data
        u8 byte;
 };
 
-static struct saa7146_extension_ioctls ioctls[] = {
-       { VIDIOC_G_INPUT,       SAA7146_EXCLUSIVE },
-       { VIDIOC_S_INPUT,       SAA7146_EXCLUSIVE },
-       { VIDIOC_ENUMINPUT,     SAA7146_EXCLUSIVE },
-       { VIDIOC_S_STD,         SAA7146_AFTER },
-       { 0,                    0 }
-};
-
 struct hexium
 {
        int type;
@@ -329,6 +321,44 @@ static int hexium_set_input(struct hexium *hexium, int input)
        return 0;
 }
 
+static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_input *i)
+{
+       DEB_EE(("VIDIOC_ENUMINPUT %d.\n", i->index));
+
+       if (i->index >= HEXIUM_INPUTS)
+               return -EINVAL;
+
+       memcpy(i, &hexium_inputs[i->index], sizeof(struct v4l2_input));
+
+       DEB_D(("v4l2_ioctl: VIDIOC_ENUMINPUT %d.\n", i->index));
+       return 0;
+}
+
+static int vidioc_g_input(struct file *file, void *fh, unsigned int *input)
+{
+       struct saa7146_dev *dev = ((struct saa7146_fh *)fh)->dev;
+       struct hexium *hexium = (struct hexium *) dev->ext_priv;
+
+       *input = hexium->cur_input;
+
+       DEB_D(("VIDIOC_G_INPUT: %d\n", *input));
+       return 0;
+}
+
+static int vidioc_s_input(struct file *file, void *fh, unsigned int input)
+{
+       struct saa7146_dev *dev = ((struct saa7146_fh *)fh)->dev;
+       struct hexium *hexium = (struct hexium *) dev->ext_priv;
+
+       if (input < 0 || input >= HEXIUM_INPUTS)
+               return -EINVAL;
+
+       hexium->cur_input = input;
+       hexium_set_input(hexium, input);
+
+       return 0;
+}
+
 static struct saa7146_ext_vv vv_data;
 
 /* this function only gets called when the probing was successful */
@@ -339,6 +369,9 @@ static int hexium_attach(struct saa7146_dev *dev, struct saa7146_pci_extension_d
        DEB_EE((".\n"));
 
        saa7146_vv_init(dev, &vv_data);
+       vv_data.ops.vidioc_enum_input = vidioc_enum_input;
+       vv_data.ops.vidioc_g_input = vidioc_g_input;
+       vv_data.ops.vidioc_s_input = vidioc_s_input;
        if (0 != saa7146_register_device(&hexium->video_dev, dev, "hexium orion", VFL_TYPE_GRABBER)) {
                printk("hexium_orion: cannot register capture v4l2 device. skipping.\n");
                return -1;
@@ -370,58 +403,6 @@ static int hexium_detach(struct saa7146_dev *dev)
        return 0;
 }
 
-static int hexium_ioctl(struct saa7146_fh *fh, unsigned int cmd, void *arg)
-{
-       struct saa7146_dev *dev = fh->dev;
-       struct hexium *hexium = (struct hexium *) dev->ext_priv;
-/*
-       struct saa7146_vv *vv = dev->vv_data;
-*/
-       switch (cmd) {
-       case VIDIOC_ENUMINPUT:
-               {
-                       struct v4l2_input *i = arg;
-                       DEB_EE(("VIDIOC_ENUMINPUT %d.\n", i->index));
-
-                       if (i->index < 0 || i->index >= HEXIUM_INPUTS) {
-                               return -EINVAL;
-                       }
-
-                       memcpy(i, &hexium_inputs[i->index], sizeof(struct v4l2_input));
-
-                       DEB_D(("v4l2_ioctl: VIDIOC_ENUMINPUT %d.\n", i->index));
-                       return 0;
-               }
-       case VIDIOC_G_INPUT:
-               {
-                       int *input = (int *) arg;
-                       *input = hexium->cur_input;
-
-                       DEB_D(("VIDIOC_G_INPUT: %d\n", *input));
-                       return 0;
-               }
-       case VIDIOC_S_INPUT:
-               {
-                       int input = *(int *) arg;
-
-                       if (input < 0 || input >= HEXIUM_INPUTS) {
-                               return -EINVAL;
-                       }
-
-                       hexium->cur_input = input;
-                       hexium_set_input(hexium, input);
-
-                       return 0;
-               }
-       default:
-/*
-               DEB_D(("hexium_ioctl() does not handle this ioctl.\n"));
-*/
-               return -ENOIOCTLCMD;
-       }
-       return 0;
-}
-
 static int std_callback(struct saa7146_dev *dev, struct saa7146_standard *std)
 {
        return 0;
@@ -479,8 +460,6 @@ static struct saa7146_ext_vv vv_data = {
        .stds = &hexium_standards[0],
        .num_stds = sizeof(hexium_standards) / sizeof(struct saa7146_standard),
        .std_callback = &std_callback,
-       .ioctls = &ioctls[0],
-       .ioctl = hexium_ioctl,
 };
 
 static struct saa7146_extension extension = {