| From 56b4ddd5628410f12b3d81858319b44cc31248b0 Mon Sep 17 00:00:00 2001 |
| From: Jani Nikula <jani.nikula@intel.com> |
| Date: Tue, 1 Nov 2016 17:40:44 +0200 |
| Subject: [PATCH 042/299] drm: define drm_compat_ioctl NULL on CONFIG_COMPAT=n |
| and reduce #ifdefs |
| |
| If we define drm_compat_ioctl NULL on CONFIG_COMPAT=n, we don't have to |
| check for the config everywhere. |
| |
| Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> |
| Signed-off-by: Jani Nikula <jani.nikula@intel.com> |
| Signed-off-by: Sean Paul <seanpaul@chromium.org> |
| Link: http://patchwork.freedesktop.org/patch/msgid/1478014844-27454-1-git-send-email-jani.nikula@intel.com |
| (cherry picked from commit 55edf41b699bcb31dcf45082d99e91b7e217206e) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/gpu/drm/arc/arcpgu_drv.c | 2 -- |
| drivers/gpu/drm/arm/hdlcd_drv.c | 2 -- |
| drivers/gpu/drm/arm/malidp_drv.c | 2 -- |
| drivers/gpu/drm/ast/ast_drv.c | 2 -- |
| drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 2 -- |
| drivers/gpu/drm/bochs/bochs_drv.c | 2 -- |
| drivers/gpu/drm/cirrus/cirrus_drv.c | 2 -- |
| drivers/gpu/drm/drm_fops.c | 13 ++++++------- |
| drivers/gpu/drm/etnaviv/etnaviv_drv.c | 2 -- |
| drivers/gpu/drm/exynos/exynos_drm_drv.c | 2 -- |
| drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 2 -- |
| drivers/gpu/drm/gma500/psb_drv.c | 2 -- |
| drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 2 -- |
| drivers/gpu/drm/i810/i810_dma.c | 2 -- |
| drivers/gpu/drm/i810/i810_drv.c | 2 -- |
| drivers/gpu/drm/i915/i915_drv.c | 2 -- |
| drivers/gpu/drm/i915/i915_drv.h | 2 ++ |
| drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 -- |
| drivers/gpu/drm/mgag200/mgag200_drv.c | 2 -- |
| drivers/gpu/drm/msm/msm_drv.c | 2 -- |
| drivers/gpu/drm/rcar-du/rcar_du_drv.c | 2 -- |
| drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 -- |
| drivers/gpu/drm/savage/savage_drv.c | 2 -- |
| drivers/gpu/drm/shmobile/shmob_drm_drv.c | 2 -- |
| drivers/gpu/drm/sis/sis_drv.c | 2 -- |
| drivers/gpu/drm/sti/sti_drv.c | 2 -- |
| drivers/gpu/drm/sun4i/sun4i_drv.c | 2 -- |
| drivers/gpu/drm/tdfx/tdfx_drv.c | 2 -- |
| drivers/gpu/drm/tegra/drm.c | 2 -- |
| drivers/gpu/drm/tilcdc/tilcdc_drv.c | 2 -- |
| drivers/gpu/drm/udl/udl_drv.c | 2 -- |
| drivers/gpu/drm/vc4/vc4_drv.c | 2 -- |
| drivers/gpu/drm/via/via_drv.c | 2 -- |
| drivers/gpu/drm/virtio/virtgpu_drv.c | 2 -- |
| include/drm/drmP.h | 5 +++++ |
| 35 files changed, 13 insertions(+), 71 deletions(-) |
| |
| --- a/drivers/gpu/drm/arc/arcpgu_drv.c |
| +++ b/drivers/gpu/drm/arc/arcpgu_drv.c |
| @@ -65,9 +65,7 @@ static const struct file_operations arcp |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/arm/hdlcd_drv.c |
| +++ b/drivers/gpu/drm/arm/hdlcd_drv.c |
| @@ -268,9 +268,7 @@ static const struct file_operations fops |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = noop_llseek, |
| --- a/drivers/gpu/drm/arm/malidp_drv.c |
| +++ b/drivers/gpu/drm/arm/malidp_drv.c |
| @@ -197,9 +197,7 @@ static const struct file_operations fops |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = noop_llseek, |
| --- a/drivers/gpu/drm/ast/ast_drv.c |
| +++ b/drivers/gpu/drm/ast/ast_drv.c |
| @@ -188,9 +188,7 @@ static const struct file_operations ast_ |
| .unlocked_ioctl = drm_ioctl, |
| .mmap = ast_mmap, |
| .poll = drm_poll, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .read = drm_read, |
| }; |
| |
| --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c |
| +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c |
| @@ -749,9 +749,7 @@ static const struct file_operations fops |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/bochs/bochs_drv.c |
| +++ b/drivers/gpu/drm/bochs/bochs_drv.c |
| @@ -70,9 +70,7 @@ static const struct file_operations boch |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/cirrus/cirrus_drv.c |
| +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c |
| @@ -126,9 +126,7 @@ static const struct file_operations cirr |
| .unlocked_ioctl = drm_ioctl, |
| .mmap = cirrus_mmap, |
| .poll = drm_poll, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| }; |
| static struct drm_driver driver = { |
| .driver_features = DRIVER_MODESET | DRIVER_GEM, |
| --- a/drivers/gpu/drm/drm_fops.c |
| +++ b/drivers/gpu/drm/drm_fops.c |
| @@ -51,10 +51,11 @@ DEFINE_MUTEX(drm_global_mutex); |
| * Drivers must define the file operations structure that forms the DRM |
| * userspace API entry point, even though most of those operations are |
| * implemented in the DRM core. The mandatory functions are drm_open(), |
| - * drm_read(), drm_ioctl() and drm_compat_ioctl if CONFIG_COMPAT is enabled. |
| - * Drivers which implement private ioctls that require 32/64 bit compatibility |
| - * support must provided their onw .compat_ioctl() handler that processes |
| - * private ioctls and calls drm_compat_ioctl() for core ioctls. |
| + * drm_read(), drm_ioctl() and drm_compat_ioctl() if CONFIG_COMPAT is enabled |
| + * (note that drm_compat_ioctl will be NULL if CONFIG_COMPAT=n). Drivers which |
| + * implement private ioctls that require 32/64 bit compatibility support must |
| + * provide their own .compat_ioctl() handler that processes private ioctls and |
| + * calls drm_compat_ioctl() for core ioctls. |
| * |
| * In addition drm_read() and drm_poll() provide support for DRM events. DRM |
| * events are a generic and extensible means to send asynchronous events to |
| @@ -75,9 +76,7 @@ DEFINE_MUTEX(drm_global_mutex); |
| * .open = drm_open, |
| * .release = drm_release, |
| * .unlocked_ioctl = drm_ioctl, |
| - * #ifdef CONFIG_COMPAT |
| - * .compat_ioctl = drm_compat_ioctl, |
| - * #endif |
| + * .compat_ioctl = drm_compat_ioctl, // NULL if CONFIG_COMPAT=n |
| * .poll = drm_poll, |
| * .read = drm_read, |
| * .llseek = no_llseek, |
| --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c |
| +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c |
| @@ -478,9 +478,7 @@ static const struct file_operations fops |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c |
| +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c |
| @@ -366,9 +366,7 @@ static const struct file_operations exyn |
| .poll = drm_poll, |
| .read = drm_read, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .release = drm_release, |
| }; |
| |
| --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c |
| +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c |
| @@ -176,9 +176,7 @@ static const struct file_operations fsl_ |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/gma500/psb_drv.c |
| +++ b/drivers/gpu/drm/gma500/psb_drv.c |
| @@ -473,9 +473,7 @@ static const struct file_operations psb_ |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = psb_unlocked_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .mmap = drm_gem_mmap, |
| .poll = drm_poll, |
| .read = drm_read, |
| --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c |
| +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c |
| @@ -151,9 +151,7 @@ static const struct file_operations kiri |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/i810/i810_dma.c |
| +++ b/drivers/gpu/drm/i810/i810_dma.c |
| @@ -113,9 +113,7 @@ static const struct file_operations i810 |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| .mmap = i810_mmap_buffers, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/i810/i810_drv.c |
| +++ b/drivers/gpu/drm/i810/i810_drv.c |
| @@ -49,9 +49,7 @@ static const struct file_operations i810 |
| .unlocked_ioctl = drm_ioctl, |
| .mmap = drm_legacy_mmap, |
| .poll = drm_poll, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/i915/i915_drv.c |
| +++ b/drivers/gpu/drm/i915/i915_drv.c |
| @@ -2500,9 +2500,7 @@ static const struct file_operations i915 |
| .mmap = drm_gem_mmap, |
| .poll = drm_poll, |
| .read = drm_read, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = i915_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/i915/i915_drv.h |
| +++ b/drivers/gpu/drm/i915/i915_drv.h |
| @@ -2880,6 +2880,8 @@ __i915_printk(struct drm_i915_private *d |
| #ifdef CONFIG_COMPAT |
| extern long i915_compat_ioctl(struct file *filp, unsigned int cmd, |
| unsigned long arg); |
| +#else |
| +#define i915_compat_ioctl NULL |
| #endif |
| extern const struct dev_pm_ops i915_pm_ops; |
| |
| --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c |
| +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c |
| @@ -248,9 +248,7 @@ static const struct file_operations mtk_ |
| .mmap = mtk_drm_gem_mmap, |
| .poll = drm_poll, |
| .read = drm_read, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| }; |
| |
| static struct drm_driver mtk_drm_driver = { |
| --- a/drivers/gpu/drm/mgag200/mgag200_drv.c |
| +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c |
| @@ -82,9 +82,7 @@ static const struct file_operations mgag |
| .unlocked_ioctl = drm_ioctl, |
| .mmap = mgag200_mmap, |
| .poll = drm_poll, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .read = drm_read, |
| }; |
| |
| --- a/drivers/gpu/drm/msm/msm_drv.c |
| +++ b/drivers/gpu/drm/msm/msm_drv.c |
| @@ -766,9 +766,7 @@ static const struct file_operations fops |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c |
| +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c |
| @@ -201,9 +201,7 @@ static const struct file_operations rcar |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c |
| +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c |
| @@ -274,9 +274,7 @@ static const struct file_operations rock |
| .poll = drm_poll, |
| .read = drm_read, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .release = drm_release, |
| }; |
| |
| --- a/drivers/gpu/drm/savage/savage_drv.c |
| +++ b/drivers/gpu/drm/savage/savage_drv.c |
| @@ -42,9 +42,7 @@ static const struct file_operations sava |
| .unlocked_ioctl = drm_ioctl, |
| .mmap = drm_legacy_mmap, |
| .poll = drm_poll, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c |
| +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c |
| @@ -245,9 +245,7 @@ static const struct file_operations shmo |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/sis/sis_drv.c |
| +++ b/drivers/gpu/drm/sis/sis_drv.c |
| @@ -72,9 +72,7 @@ static const struct file_operations sis_ |
| .unlocked_ioctl = drm_ioctl, |
| .mmap = drm_legacy_mmap, |
| .poll = drm_poll, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/sti/sti_drv.c |
| +++ b/drivers/gpu/drm/sti/sti_drv.c |
| @@ -296,9 +296,7 @@ static const struct file_operations sti_ |
| .poll = drm_poll, |
| .read = drm_read, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .release = drm_release, |
| }; |
| |
| --- a/drivers/gpu/drm/sun4i/sun4i_drv.c |
| +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c |
| @@ -52,9 +52,7 @@ static const struct file_operations sun4 |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/tdfx/tdfx_drv.c |
| +++ b/drivers/gpu/drm/tdfx/tdfx_drv.c |
| @@ -49,9 +49,7 @@ static const struct file_operations tdfx |
| .unlocked_ioctl = drm_ioctl, |
| .mmap = drm_legacy_mmap, |
| .poll = drm_poll, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/tegra/drm.c |
| +++ b/drivers/gpu/drm/tegra/drm.c |
| @@ -802,9 +802,7 @@ static const struct file_operations tegr |
| .mmap = tegra_drm_mmap, |
| .poll = drm_poll, |
| .read = drm_read, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c |
| +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c |
| @@ -573,9 +573,7 @@ static const struct file_operations fops |
| .open = drm_open, |
| .release = drm_release, |
| .unlocked_ioctl = drm_ioctl, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .poll = drm_poll, |
| .read = drm_read, |
| .llseek = no_llseek, |
| --- a/drivers/gpu/drm/udl/udl_drv.c |
| +++ b/drivers/gpu/drm/udl/udl_drv.c |
| @@ -44,9 +44,7 @@ static const struct file_operations udl_ |
| .read = drm_read, |
| .unlocked_ioctl = drm_ioctl, |
| .release = drm_release, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/vc4/vc4_drv.c |
| +++ b/drivers/gpu/drm/vc4/vc4_drv.c |
| @@ -106,9 +106,7 @@ static const struct file_operations vc4_ |
| .mmap = vc4_mmap, |
| .poll = drm_poll, |
| .read = drm_read, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/via/via_drv.c |
| +++ b/drivers/gpu/drm/via/via_drv.c |
| @@ -64,9 +64,7 @@ static const struct file_operations via_ |
| .unlocked_ioctl = drm_ioctl, |
| .mmap = drm_legacy_mmap, |
| .poll = drm_poll, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/drivers/gpu/drm/virtio/virtgpu_drv.c |
| +++ b/drivers/gpu/drm/virtio/virtgpu_drv.c |
| @@ -108,9 +108,7 @@ static const struct file_operations virt |
| .read = drm_read, |
| .unlocked_ioctl = drm_ioctl, |
| .release = drm_release, |
| -#ifdef CONFIG_COMPAT |
| .compat_ioctl = drm_compat_ioctl, |
| -#endif |
| .llseek = noop_llseek, |
| }; |
| |
| --- a/include/drm/drmP.h |
| +++ b/include/drm/drmP.h |
| @@ -943,8 +943,13 @@ static inline bool drm_is_primary_client |
| extern int drm_ioctl_permit(u32 flags, struct drm_file *file_priv); |
| extern long drm_ioctl(struct file *filp, |
| unsigned int cmd, unsigned long arg); |
| +#ifdef CONFIG_COMPAT |
| extern long drm_compat_ioctl(struct file *filp, |
| unsigned int cmd, unsigned long arg); |
| +#else |
| +/* Let drm_compat_ioctl be assigned to .compat_ioctl unconditionally */ |
| +#define drm_compat_ioctl NULL |
| +#endif |
| extern bool drm_ioctl_flags(unsigned int nr, unsigned int *flags); |
| |
| /* File Operations (drm_fops.c) */ |