diff options
| author | Gerd Knorr <kraxel@bytesex.org> | 2002-04-08 14:05:09 +0200 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-04-08 14:05:09 +0200 |
| commit | 8ce6edde6138e351d22ea0e8787ee79fd8ed7a1a (patch) | |
| tree | 54612c59cbe7e382770b3b9142160e9f739ebcf2 | |
| parent | cbba4f5ef5c3298451d51aca1b74ad0040ff9c5a (diff) | |
adapt v4l video drivers to 2.5.8-pre1 videodev fixes.
| -rw-r--r-- | drivers/media/video/bttv-driver.c | 26 | ||||
| -rw-r--r-- | drivers/media/video/bttv-vbi.c | 13 | ||||
| -rw-r--r-- | drivers/media/video/bw-qcam.c | 13 | ||||
| -rw-r--r-- | drivers/media/video/c-qcam.c | 13 | ||||
| -rw-r--r-- | drivers/media/video/cpia.c | 13 | ||||
| -rw-r--r-- | drivers/media/video/pms.c | 13 | ||||
| -rw-r--r-- | drivers/media/video/saa5249.c | 13 | ||||
| -rw-r--r-- | drivers/media/video/w9966.c | 15 |
8 files changed, 80 insertions, 39 deletions
diff --git a/drivers/media/video/bttv-driver.c b/drivers/media/video/bttv-driver.c index 95bfb3066c20..f35c94e3122e 100644 --- a/drivers/media/video/bttv-driver.c +++ b/drivers/media/video/bttv-driver.c @@ -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, }; diff --git a/drivers/media/video/bttv-vbi.c b/drivers/media/video/bttv-vbi.c index ddef4c7440e3..f0667526c36c 100644 --- a/drivers/media/video/bttv-vbi.c +++ b/drivers/media/video/bttv-vbi.c @@ -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, }; diff --git a/drivers/media/video/bw-qcam.c b/drivers/media/video/bw-qcam.c index 7acc2e206a2e..669521dcbc8a 100644 --- a/drivers/media/video/bw-qcam.c +++ b/drivers/media/video/bw-qcam.c @@ -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 diff --git a/drivers/media/video/c-qcam.c b/drivers/media/video/c-qcam.c index eaa33bf54639..e58f17589938 100644 --- a/drivers/media/video/c-qcam.c +++ b/drivers/media/video/c-qcam.c @@ -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. */ diff --git a/drivers/media/video/cpia.c b/drivers/media/video/cpia.c index b03f8c8f9492..1a7992ccd76c 100644 --- a/drivers/media/video/cpia.c +++ b/drivers/media/video/cpia.c @@ -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 */ diff --git a/drivers/media/video/pms.c b/drivers/media/video/pms.c index 93ed63370919..995763e0e21d 100644 --- a/drivers/media/video/pms.c +++ b/drivers/media/video/pms.c @@ -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; diff --git a/drivers/media/video/saa5249.c b/drivers/media/video/saa5249.c index 20dcf814e336..d8d959d244f2 100644 --- a/drivers/media/video/saa5249.c +++ b/drivers/media/video/saa5249.c @@ -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"); diff --git a/drivers/media/video/w9966.c b/drivers/media/video/w9966.c index d8d030c82a3d..c475ca9b69c0 100644 --- a/drivers/media/video/w9966.c +++ b/drivers/media/video/w9966.c @@ -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) |
