]> git.hungrycats.org Git - linux/commitdiff
adapt v4l video drivers to 2.5.8-pre1 videodev fixes.
authorGerd Knorr <kraxel@bytesex.org>
Mon, 8 Apr 2002 12:05:09 +0000 (14:05 +0200)
committerLinus Torvalds <torvalds@home.transmeta.com>
Mon, 8 Apr 2002 12:05:09 +0000 (14:05 +0200)
drivers/media/video/bttv-driver.c
drivers/media/video/bttv-vbi.c
drivers/media/video/bw-qcam.c
drivers/media/video/c-qcam.c
drivers/media/video/cpia.c
drivers/media/video/pms.c
drivers/media/video/saa5249.c
drivers/media/video/w9966.c

index 95bfb3066c2009f6fc247c8b9499c21b517c50cf..f35c94e3122ee9cb935f5d3926c4208420d3d6b3 100644 (file)
@@ -1650,8 +1650,8 @@ static void release_buffer(struct file *file, struct videobuf_buffer *vb)
        bttv_dma_free(fh->btv,buf);
 }
 
-static int bttv_ioctl(struct inode *inode, struct file *file,
-                     unsigned int cmd, void *arg)
+static int bttv_do_ioctl(struct inode *inode, struct file *file,
+                        unsigned int cmd, void *arg)
 {
        struct bttv_fh *fh  = file->private_data;
        struct bttv    *btv = fh->btv;
@@ -2432,6 +2432,12 @@ static int bttv_ioctl(struct inode *inode, struct file *file,
        return retval;
 }
 
+static int bttv_ioctl(struct inode *inode, struct file *file,
+                     unsigned int cmd, unsigned long arg)
+{
+       return video_usercopy(inode, file, cmd, arg, bttv_do_ioctl);
+}
+
 /* start capture to a kernel bounce buffer */
 static int bttv_read_capture(struct bttv_fh *fh)
 {
@@ -2647,7 +2653,7 @@ static struct file_operations bttv_fops =
        owner:    THIS_MODULE,
        open:     bttv_open,
        release:  bttv_release,
-       ioctl:    video_generic_ioctl,
+       ioctl:    bttv_ioctl,
        llseek:   no_llseek,
        read:     bttv_read,
        mmap:     bttv_mmap,
@@ -2661,7 +2667,6 @@ static struct video_device bttv_template =
                  VID_TYPE_CLIPPING|VID_TYPE_SCALES,
        hardware: VID_HARDWARE_BT848,
        fops:     &bttv_fops,
-       kernel_ioctl: bttv_ioctl,
        minor:    -1,
 };
 
@@ -2712,8 +2717,8 @@ static int radio_release(struct inode *inode, struct file *file)
        return 0;
 }
 
-static int radio_ioctl(struct inode *inode, struct file *file,
-                      unsigned int cmd, void *arg)
+static int radio_do_ioctl(struct inode *inode, struct file *file,
+                         unsigned int cmd, void *arg)
 {
        struct bttv    *btv = file->private_data;
 
@@ -2763,12 +2768,18 @@ static int radio_ioctl(struct inode *inode, struct file *file,
        return 0;
 }
 
+static int radio_ioctl(struct inode *inode, struct file *file,
+                      unsigned int cmd, unsigned long arg)
+{
+       return video_usercopy(inode, file, cmd, arg, radio_do_ioctl);
+}
+
 static struct file_operations radio_fops =
 {
        owner:    THIS_MODULE,
        open:     radio_open,
        release:  radio_release,
-       ioctl:    video_generic_ioctl,
+       ioctl:    radio_ioctl,
        llseek:   no_llseek,
 };
 
@@ -2778,7 +2789,6 @@ static struct video_device radio_template =
        type:     VID_TYPE_TUNER|VID_TYPE_TELETEXT,
        hardware: VID_HARDWARE_BT848,
        fops:     &radio_fops,
-       kernel_ioctl: radio_ioctl,
        minor:    -1,
 };
 
index ddef4c7440e32c3ce303356d7817f152967c1f6b..f0667526c36cebcdffb2ef6f883499394a99608a 100644 (file)
@@ -276,8 +276,8 @@ static int vbi_release(struct inode *inode, struct file *file)
        return 0;
 }
 
-static int vbi_ioctl(struct inode *inode, struct file *file,
-                    unsigned int cmd, void *arg)
+static int vbi_do_ioctl(struct inode *inode, struct file *file,
+                       unsigned int cmd, void *arg)
 {
        struct bttv *btv = file->private_data;
 #ifdef HAVE_V4L2
@@ -507,6 +507,12 @@ static int vbi_ioctl(struct inode *inode, struct file *file,
 #endif
 }
 
+static int vbi_ioctl(struct inode *inode, struct file *file,
+                    unsigned int cmd, unsigned long arg)
+{
+       return video_usercopy(inode, file, cmd, arg, vbi_do_ioctl);
+}
+
 static ssize_t vbi_read(struct file *file, char *data,
                        size_t count, loff_t *ppos)
 {
@@ -634,7 +640,7 @@ static struct file_operations vbi_fops =
        owner:    THIS_MODULE,
        open:     vbi_open,
        release:  vbi_release,
-       ioctl:    video_generic_ioctl,
+       ioctl:    vbi_ioctl,
        llseek:   no_llseek,
        read:     vbi_read,
        poll:     vbi_poll,
@@ -647,7 +653,6 @@ struct video_device bttv_vbi_template =
        type:     VID_TYPE_TUNER|VID_TYPE_TELETEXT,
        hardware: VID_HARDWARE_BT848,
        fops:     &vbi_fops,
-       kernel_ioctl: vbi_ioctl,
        minor:    -1,
 };
 
index 7acc2e206a2e90ba555d1d939d36507e9b0c69a9..669521dcbc8abcf93552f6295225a92ae73cefa7 100644 (file)
@@ -694,8 +694,8 @@ long qc_capture(struct qcam_device * q, char *buf, unsigned long len)
  *     Video4linux interfacing
  */
 
-static int qcam_ioctl(struct inode *inode, struct file *file,
-                     unsigned int cmd, void *arg)
+static int qcam_do_ioctl(struct inode *inode, struct file *file,
+                        unsigned int cmd, void *arg)
 {
        struct video_device *dev = video_devdata(file);
        struct qcam_device *qcam=(struct qcam_device *)dev;
@@ -854,6 +854,12 @@ static int qcam_ioctl(struct inode *inode, struct file *file,
        return 0;
 }
 
+static int qcam_ioctl(struct inode *inode, struct file *file,
+                    unsigned int cmd, unsigned long arg)
+{
+       return video_usercopy(inode, file, cmd, arg, qcam_do_ioctl);
+}
+
 static int qcam_read(struct file *file, char *buf,
                     size_t count, loff_t *ppos)
 {
@@ -882,7 +888,7 @@ static struct file_operations qcam_fops = {
        owner:          THIS_MODULE,
        open:           video_exclusive_open,
        release:        video_exclusive_release,
-       ioctl:          video_generic_ioctl,
+       ioctl:          qcam_ioctl,
        read:           qcam_read,
        llseek:         no_llseek,
 };
@@ -893,7 +899,6 @@ static struct video_device qcam_template=
        type:           VID_TYPE_CAPTURE,
        hardware:       VID_HARDWARE_QCAM_BW,
        fops:           &qcam_fops,
-       kernel_ioctl:   qcam_ioctl,
 };
 
 #define MAX_CAMS 4
index eaa33bf54639b9b5574b0be5fe2022c175191222..e58f17589938e797ea769bfa13eeb780259bb553 100644 (file)
@@ -496,8 +496,8 @@ static long qc_capture(struct qcam_device *q, char *buf, unsigned long len)
  *     Video4linux interfacing
  */
 
-static int qcam_ioctl(struct inode *inode, struct file *file,
-                     unsigned int cmd, void *arg)
+static int qcam_do_ioctl(struct inode *inode, struct file *file,
+                        unsigned int cmd, void *arg)
 {
        struct video_device *dev = video_devdata(file);
        struct qcam_device *qcam=(struct qcam_device *)dev;
@@ -662,6 +662,12 @@ static int qcam_ioctl(struct inode *inode, struct file *file,
        return 0;
 }
 
+static int qcam_ioctl(struct inode *inode, struct file *file,
+                    unsigned int cmd, unsigned long arg)
+{
+       return video_usercopy(inode, file, cmd, arg, qcam_do_ioctl);
+}
+
 static int qcam_read(struct file *file, char *buf,
                     size_t count, loff_t *ppos)
 {
@@ -683,7 +689,7 @@ static struct file_operations qcam_fops = {
        owner:          THIS_MODULE,
        open:           video_exclusive_open,
        release:        video_exclusive_release,
-       ioctl:          video_generic_ioctl,
+       ioctl:          qcam_ioctl,
        read:           qcam_read,
        llseek:         no_llseek,
 };
@@ -695,7 +701,6 @@ static struct video_device qcam_template=
        type:           VID_TYPE_CAPTURE,
        hardware:       VID_HARDWARE_QCAM_C,
        fops:           &qcam_fops,
-       kernel_ioctl:   qcam_ioctl,
 };
 
 /* Initialize the QuickCam driver control structure. */
index b03f8c8f9492f7e1f831d05fbd8113854e54e206..1a7992ccd76ca52515f6fa5d879b30f4209cb732 100644 (file)
@@ -2572,8 +2572,8 @@ static int cpia_read(struct file *file, char *buf,
        return cam->decompressed_frame.count;
 }
 
-static int cpia_ioctl(struct inode *inode, struct file *file,
-                     unsigned int ioctlnr, void *arg)
+static int cpia_do_ioctl(struct inode *inode, struct file *file,
+                        unsigned int ioctlnr, void *arg)
 {
        struct video_device *dev = file->private_data;
        struct cam_data *cam = dev->priv;
@@ -2874,6 +2874,12 @@ static int cpia_ioctl(struct inode *inode, struct file *file,
        return retval;
 } 
 
+static int cpia_ioctl(struct inode *inode, struct file *file,
+                    unsigned int cmd, unsigned long arg)
+{
+       return video_usercopy(inode, file, cmd, arg, cpia_do_ioctl);
+}
+
 /* FIXME */
 static int cpia_mmap(struct file *file, struct vm_area_struct *vma)
 {
@@ -2933,7 +2939,7 @@ static struct file_operations cpia_fops = {
        release:        cpia_close,
        read:           cpia_read,
        mmap:           cpia_mmap,
-       ioctl:          video_generic_ioctl,
+       ioctl:          cpia_ioctl,
        llseek:         no_llseek,
 };
 
@@ -2943,7 +2949,6 @@ static struct video_device cpia_template = {
        type:           VID_TYPE_CAPTURE,
        hardware:       VID_HARDWARE_CPIA,      /* FIXME */
        fops:           &cpia_fops,
-       kernel_ioctl:   cpia_ioctl,
 };
 
 /* initialise cam_data structure  */
index 93ed633709191013a352140eca954ad4e5d0f91c..995763e0e21d1d52c5f44adf177bcdb261488369 100644 (file)
@@ -672,8 +672,8 @@ static int pms_capture(struct pms_device *dev, char *buf, int rgb555, int count)
  *     Video4linux interfacing
  */
 
-static int pms_ioctl(struct inode *inode, struct file *file,
-                    unsigned int cmd, void *arg)
+static int pms_do_ioctl(struct inode *inode, struct file *file,
+                       unsigned int cmd, void *arg)
 {
        struct video_device *dev = video_devdata(file);
        struct pms_device *pd=(struct pms_device *)dev;
@@ -855,6 +855,12 @@ static int pms_ioctl(struct inode *inode, struct file *file,
        return 0;
 }
 
+static int pms_ioctl(struct inode *inode, struct file *file,
+                    unsigned int cmd, unsigned long arg)
+{
+       return video_usercopy(inode, file, cmd, arg, pms_do_ioctl);
+}
+
 static int pms_read(struct file *file, char *buf,
                    size_t count, loff_t *ppos)
 {
@@ -872,7 +878,7 @@ static struct file_operations pms_fops = {
        owner:          THIS_MODULE,
        open:           video_exclusive_open,
        release:        video_exclusive_release,
-       ioctl:          video_generic_ioctl,
+       ioctl:          pms_ioctl,
        read:           pms_read,
        llseek:         no_llseek,
 };
@@ -884,7 +890,6 @@ static struct video_device pms_template=
        type:           VID_TYPE_CAPTURE,
        hardware:       VID_HARDWARE_PMS,
        fops:           &pms_fops,
-       kernel_ioctl:   pms_ioctl,
 };
 
 struct pms_device pms_device;
index 20dcf814e33650d47e6887689b33f5ea7365ca95..d8d959d244f2eec0bc40bf64c3369b1b13b8c106 100644 (file)
@@ -341,9 +341,12 @@ static int i2c_getdata(struct saa5249_device *t, int count, u8 *buf)
  *     Standard character-device-driver functions
  */
 
-static int do_saa5249_ioctl(struct saa5249_device *t, unsigned int cmd, void *arg) 
+static int do_saa5249_ioctl(struct inode *inode, struct file *file,
+                           unsigned int cmd, void *arg)
 {
        static int virtual_mode = FALSE;
+       struct video_device *vd = video_devdata(file);
+       struct saa5249_device *t=vd->priv;
 
        switch(cmd) 
        {
@@ -591,16 +594,15 @@ static int do_saa5249_ioctl(struct saa5249_device *t, unsigned int cmd, void *ar
  */
  
 static int saa5249_ioctl(struct inode *inode, struct file *file,
-                        unsigned int cmd, void *arg) 
+                        unsigned int cmd, unsigned long arg) 
 {
        struct video_device *vd = video_devdata(file);
        struct saa5249_device *t=vd->priv;
        int err;
        
        down(&t->lock);
-       err = do_saa5249_ioctl(t, cmd, arg);
+       err = video_usercopy(inode,file,cmd,arg,do_saa5249_ioctl);
        up(&t->lock);
-
        return err;
 }
 
@@ -679,7 +681,7 @@ static struct file_operations saa_fops = {
        owner:          THIS_MODULE,
        open:           saa5249_open,
        release:        saa5249_release,
-       ioctl:          video_generic_ioctl,
+       ioctl:          saa5249_ioctl,
        llseek:         no_llseek,
 };
 
@@ -690,7 +692,6 @@ static struct video_device saa_template =
        type:           VID_TYPE_TELETEXT,      /*| VID_TYPE_TUNER ?? */
        hardware:       VID_HARDWARE_SAA5249,
        fops:           &saa_fops,
-       kernel_ioctl:   saa5249_ioctl,
 };
 
 MODULE_LICENSE("GPL");
index d8d030c82a3d2b9d5c670ce0fb91c300773e6c16..c475ca9b69c0a0cdd9aed951a30c9b99abe41bba 100644 (file)
@@ -174,7 +174,7 @@ static int w9966_i2c_wbyte(struct w9966_dev* cam, int data);
 static int w9966_i2c_rbyte(struct w9966_dev* cam);
 
 static int w9966_v4l_ioctl(struct inode *inode, struct file *file,
-                          unsigned int cmd, void *arg);
+                          unsigned int cmd, unsigned long arg);
 static int w9966_v4l_read(struct file *file, char *buf,
                          size_t count, loff_t *ppos);
 
@@ -182,7 +182,7 @@ static struct file_operations w9966_fops = {
        owner:          THIS_MODULE,
        open:           video_exclusive_open,
        release:        video_exclusive_release,
-       ioctl:          video_generic_ioctl,
+       ioctl:          w9966_v4l_ioctl,
        read:           w9966_v4l_read,
        llseek:         no_llseek,
 };
@@ -192,7 +192,6 @@ static struct video_device w9966_template = {
        type:           VID_TYPE_CAPTURE | VID_TYPE_SCALES,
        hardware:       VID_HARDWARE_W9966,
        fops:           &w9966_fops,
-       kernel_ioctl:   w9966_v4l_ioctl,
 };
 
 /*
@@ -700,8 +699,8 @@ static int w9966_wReg_i2c(struct w9966_dev* cam, int reg, int data)
  *     Video4linux interfacing
  */
 
-static int w9966_v4l_ioctl(struct inode *inode, struct file *file,
-                          unsigned int cmd, void *arg)
+static int w9966_v4l_do_ioctl(struct inode *inode, struct file *file,
+                             unsigned int cmd, void *arg)
 {
        struct video_device *vdev = video_devdata(file);
        struct w9966_dev *cam = (struct w9966_dev*)vdev->priv;
@@ -853,6 +852,12 @@ static int w9966_v4l_ioctl(struct inode *inode, struct file *file,
        return 0;
 }
 
+static int w9966_v4l_ioctl(struct inode *inode, struct file *file,
+                          unsigned int cmd, unsigned long arg)
+{
+       return video_usercopy(inode, file, cmd, arg, w9966_v4l_do_ioctl);
+}
+
 // Capture data
 static int w9966_v4l_read(struct file *file, char *buf,
                          size_t count, loff_t *ppos)