[PATCH] Add compat_ioctl to frame buffer layer
From: Andi Kleen
Date: Tue Jan 18 2005 - 07:33:37 EST
Forward compat_ioctl through the frame buffer layer.
This is needed for a followup patch.
Signed-off-by: Andi Kleen <ak@xxxxxx>
diff -u linux-2.6.11-rc1-bk4/drivers/video/fbmem.c-o linux-2.6.11-rc1-bk4/drivers/video/fbmem.c
--- linux-2.6.11-rc1-bk4/drivers/video/fbmem.c-o 2005-01-14 10:12:22.000000000 +0100
+++ linux-2.6.11-rc1-bk4/drivers/video/fbmem.c 2005-01-18 03:36:37.000000000 +0100
@@ -868,6 +868,23 @@
}
}
+#ifdef CONFIG_COMPAT
+static long
+fb_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+{
+ int fbidx = iminor(file->f_dentry->d_inode);
+ struct fb_info *info = registered_fb[fbidx];
+ struct fb_ops *fb = info->fbops;
+ int ret;
+ if (fb->fb_compat_ioctl == NULL)
+ return -ENOIOCTLCMD;
+ lock_kernel();
+ ret = fb->fb_compat_ioctl(file, cmd, arg, info);
+ unlock_kernel();
+ return ret;
+}
+#endif
+
static int
fb_mmap(struct file *file, struct vm_area_struct * vma)
{
@@ -1009,6 +1026,9 @@
.read = fb_read,
.write = fb_write,
.ioctl = fb_ioctl,
+#ifdef CONFIG_COMPAT
+ .compat_ioctl = fb_compat_ioctl,
+#endif
.mmap = fb_mmap,
.open = fb_open,
.release = fb_release,
diff -u linux-2.6.11-rc1-bk4/include/linux/fb.h-o linux-2.6.11-rc1-bk4/include/linux/fb.h
--- linux-2.6.11-rc1-bk4/include/linux/fb.h-o 2005-01-14 10:12:26.000000000 +0100
+++ linux-2.6.11-rc1-bk4/include/linux/fb.h 2005-01-17 11:30:29.000000000 +0100
@@ -584,6 +584,10 @@
int (*fb_ioctl)(struct inode *inode, struct file *file, unsigned int cmd,
unsigned long arg, struct fb_info *info);
+ /* Handle 32bit compat ioctl (optional) */
+ int (*fb_compat_ioctl)(struct file *f, unsigned cmd, unsigned long arg,
+ struct fb_info *info);
+
/* perform fb specific mmap */
int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma);
};
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/