Gerd Knorr wrote: > Luca Abeni <lucabe72@xxxxxxxx> writes: > > > +static long fops_ioctl32(struct file *file, unsigned int cmd, unsigned long arg) > > +{ > > +/* > > + DEB_EE(("inode:%p, file:%p, cmd:%d, arg:%li\n",inode, file, cmd, arg)); > > +*/ > > + return video_usercopy(NULL, file, cmd, arg, saa7146_video_do_ioctl); > > +} > > static int fops_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) > > { > > /* > > @@ -417,6 +424,7 @@ static struct file_operations video_fops > > .poll = fops_poll, > > .mmap = fops_mmap, > > .ioctl = fops_ioctl, > > + .compat_ioctl = fops_ioctl32, > > .llseek = no_llseek, > > }; > > Uhm, that's the v4l2 ioctl function, isn't it? That one certainly > isn't that easy, struct v4l2_buffer for example isn't identical in 32 > and 64 bit. Grepping through the drivers/media/ sources, it seems no v4l driver implements this so far. If someone wants to work on it, it might be best to implement it as video_compat_usercopy(), right? Johannes