Commit 804d74ab authored by Keith Packard's avatar Keith Packard Committed by Dave Airlie

drm: use drm_compat_ioctl for 32-bit apps

Most of the DRM drivers appear to be missing the .compat_ioctl file
operation entry necessary for 32-bit application compatibility.

This patch  uses drm_compat_ioctl for all drivers which don't have
their own, and which are using drm_ioctl for .unlocked_ioctl.

This leaves drivers/gpu/drm/psb/psb_drv.c unchanged; it has a custom
.unlocked_ioctl and will presumably need a custom .compat_ioctl as
well.
Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
Signed-off-by: default avatarDave Airlie <airlied@gmail.com>
parent 0273de08
...@@ -193,6 +193,9 @@ static const struct file_operations ast_fops = { ...@@ -193,6 +193,9 @@ static const struct file_operations ast_fops = {
.mmap = ast_mmap, .mmap = ast_mmap,
.poll = drm_poll, .poll = drm_poll,
.fasync = drm_fasync, .fasync = drm_fasync,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.read = drm_read, .read = drm_read,
}; };
......
...@@ -74,6 +74,9 @@ static const struct file_operations cirrus_driver_fops = { ...@@ -74,6 +74,9 @@ static const struct file_operations cirrus_driver_fops = {
.unlocked_ioctl = drm_ioctl, .unlocked_ioctl = drm_ioctl,
.mmap = cirrus_mmap, .mmap = cirrus_mmap,
.poll = drm_poll, .poll = drm_poll,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.fasync = drm_fasync, .fasync = drm_fasync,
}; };
static struct drm_driver driver = { static struct drm_driver driver = {
......
...@@ -241,6 +241,9 @@ static const struct file_operations exynos_drm_driver_fops = { ...@@ -241,6 +241,9 @@ static const struct file_operations exynos_drm_driver_fops = {
.poll = drm_poll, .poll = drm_poll,
.read = drm_read, .read = drm_read,
.unlocked_ioctl = drm_ioctl, .unlocked_ioctl = drm_ioctl,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.release = drm_release, .release = drm_release,
}; };
......
...@@ -115,6 +115,9 @@ static const struct file_operations i810_buffer_fops = { ...@@ -115,6 +115,9 @@ static const struct file_operations i810_buffer_fops = {
.unlocked_ioctl = drm_ioctl, .unlocked_ioctl = drm_ioctl,
.mmap = i810_mmap_buffers, .mmap = i810_mmap_buffers,
.fasync = drm_fasync, .fasync = drm_fasync,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.llseek = noop_llseek, .llseek = noop_llseek,
}; };
......
...@@ -51,6 +51,9 @@ static const struct file_operations i810_driver_fops = { ...@@ -51,6 +51,9 @@ static const struct file_operations i810_driver_fops = {
.mmap = drm_mmap, .mmap = drm_mmap,
.poll = drm_poll, .poll = drm_poll,
.fasync = drm_fasync, .fasync = drm_fasync,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.llseek = noop_llseek, .llseek = noop_llseek,
}; };
......
...@@ -84,6 +84,9 @@ static const struct file_operations mgag200_driver_fops = { ...@@ -84,6 +84,9 @@ static const struct file_operations mgag200_driver_fops = {
.mmap = mgag200_mmap, .mmap = mgag200_mmap,
.poll = drm_poll, .poll = drm_poll,
.fasync = drm_fasync, .fasync = drm_fasync,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.read = drm_read, .read = drm_read,
}; };
......
...@@ -43,6 +43,9 @@ static const struct file_operations savage_driver_fops = { ...@@ -43,6 +43,9 @@ static const struct file_operations savage_driver_fops = {
.mmap = drm_mmap, .mmap = drm_mmap,
.poll = drm_poll, .poll = drm_poll,
.fasync = drm_fasync, .fasync = drm_fasync,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.llseek = noop_llseek, .llseek = noop_llseek,
}; };
......
...@@ -74,6 +74,9 @@ static const struct file_operations sis_driver_fops = { ...@@ -74,6 +74,9 @@ static const struct file_operations sis_driver_fops = {
.mmap = drm_mmap, .mmap = drm_mmap,
.poll = drm_poll, .poll = drm_poll,
.fasync = drm_fasync, .fasync = drm_fasync,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.llseek = noop_llseek, .llseek = noop_llseek,
}; };
......
...@@ -49,6 +49,9 @@ static const struct file_operations tdfx_driver_fops = { ...@@ -49,6 +49,9 @@ static const struct file_operations tdfx_driver_fops = {
.mmap = drm_mmap, .mmap = drm_mmap,
.poll = drm_poll, .poll = drm_poll,
.fasync = drm_fasync, .fasync = drm_fasync,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.llseek = noop_llseek, .llseek = noop_llseek,
}; };
......
...@@ -66,6 +66,9 @@ static const struct file_operations udl_driver_fops = { ...@@ -66,6 +66,9 @@ static const struct file_operations udl_driver_fops = {
.unlocked_ioctl = drm_ioctl, .unlocked_ioctl = drm_ioctl,
.release = drm_release, .release = drm_release,
.fasync = drm_fasync, .fasync = drm_fasync,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.llseek = noop_llseek, .llseek = noop_llseek,
}; };
......
...@@ -65,6 +65,9 @@ static const struct file_operations via_driver_fops = { ...@@ -65,6 +65,9 @@ static const struct file_operations via_driver_fops = {
.mmap = drm_mmap, .mmap = drm_mmap,
.poll = drm_poll, .poll = drm_poll,
.fasync = drm_fasync, .fasync = drm_fasync,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.llseek = noop_llseek, .llseek = noop_llseek,
}; };
......
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