Commit 8ce6edde authored by Gerd Knorr's avatar Gerd Knorr Committed by Linus Torvalds

adapt v4l video drivers to 2.5.8-pre1 videodev fixes.

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