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)
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)
{
struct bttv_fh *fh = file->private_data;
......@@ -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,7 +2717,7 @@ static int radio_release(struct inode *inode, struct file *file)
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)
{
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,
};
......
......@@ -276,7 +276,7 @@ static int vbi_release(struct inode *inode, struct file *file)
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)
{
struct bttv *btv = file->private_data;
......@@ -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,
};
......
......@@ -694,7 +694,7 @@ long qc_capture(struct qcam_device * q, char *buf, unsigned long len)
* 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)
{
struct video_device *dev = video_devdata(file);
......@@ -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
......
......@@ -496,7 +496,7 @@ 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,
static int qcam_do_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, void *arg)
{
struct video_device *dev = video_devdata(file);
......@@ -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. */
......
......@@ -2572,7 +2572,7 @@ static int cpia_read(struct file *file, char *buf,
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)
{
struct video_device *dev = file->private_data;
......@@ -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 */
......
......@@ -672,7 +672,7 @@ 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,
static int pms_do_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, void *arg)
{
struct video_device *dev = video_devdata(file);
......@@ -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;
......
......@@ -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");
......@@ -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,7 +699,7 @@ 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,
static int w9966_v4l_do_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, void *arg)
{
struct video_device *vdev = video_devdata(file);
......@@ -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)
......
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