Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

authored by

Jani Nikula and committed by
Sean Paul
55edf41b 0a97c81a

+13 -71
-2
drivers/gpu/drm/arc/arcpgu_drv.c
··· 65 65 .open = drm_open, 66 66 .release = drm_release, 67 67 .unlocked_ioctl = drm_ioctl, 68 - #ifdef CONFIG_COMPAT 69 68 .compat_ioctl = drm_compat_ioctl, 70 - #endif 71 69 .poll = drm_poll, 72 70 .read = drm_read, 73 71 .llseek = no_llseek,
-2
drivers/gpu/drm/arm/hdlcd_drv.c
··· 268 268 .open = drm_open, 269 269 .release = drm_release, 270 270 .unlocked_ioctl = drm_ioctl, 271 - #ifdef CONFIG_COMPAT 272 271 .compat_ioctl = drm_compat_ioctl, 273 - #endif 274 272 .poll = drm_poll, 275 273 .read = drm_read, 276 274 .llseek = noop_llseek,
-2
drivers/gpu/drm/arm/malidp_drv.c
··· 197 197 .open = drm_open, 198 198 .release = drm_release, 199 199 .unlocked_ioctl = drm_ioctl, 200 - #ifdef CONFIG_COMPAT 201 200 .compat_ioctl = drm_compat_ioctl, 202 - #endif 203 201 .poll = drm_poll, 204 202 .read = drm_read, 205 203 .llseek = noop_llseek,
-2
drivers/gpu/drm/ast/ast_drv.c
··· 188 188 .unlocked_ioctl = drm_ioctl, 189 189 .mmap = ast_mmap, 190 190 .poll = drm_poll, 191 - #ifdef CONFIG_COMPAT 192 191 .compat_ioctl = drm_compat_ioctl, 193 - #endif 194 192 .read = drm_read, 195 193 }; 196 194
-2
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
··· 749 749 .open = drm_open, 750 750 .release = drm_release, 751 751 .unlocked_ioctl = drm_ioctl, 752 - #ifdef CONFIG_COMPAT 753 752 .compat_ioctl = drm_compat_ioctl, 754 - #endif 755 753 .poll = drm_poll, 756 754 .read = drm_read, 757 755 .llseek = no_llseek,
-2
drivers/gpu/drm/bochs/bochs_drv.c
··· 70 70 .open = drm_open, 71 71 .release = drm_release, 72 72 .unlocked_ioctl = drm_ioctl, 73 - #ifdef CONFIG_COMPAT 74 73 .compat_ioctl = drm_compat_ioctl, 75 - #endif 76 74 .poll = drm_poll, 77 75 .read = drm_read, 78 76 .llseek = no_llseek,
-2
drivers/gpu/drm/cirrus/cirrus_drv.c
··· 126 126 .unlocked_ioctl = drm_ioctl, 127 127 .mmap = cirrus_mmap, 128 128 .poll = drm_poll, 129 - #ifdef CONFIG_COMPAT 130 129 .compat_ioctl = drm_compat_ioctl, 131 - #endif 132 130 }; 133 131 static struct drm_driver driver = { 134 132 .driver_features = DRIVER_MODESET | DRIVER_GEM,
+6 -7
drivers/gpu/drm/drm_fops.c
··· 51 51 * Drivers must define the file operations structure that forms the DRM 52 52 * userspace API entry point, even though most of those operations are 53 53 * implemented in the DRM core. The mandatory functions are drm_open(), 54 - * drm_read(), drm_ioctl() and drm_compat_ioctl if CONFIG_COMPAT is enabled. 55 - * Drivers which implement private ioctls that require 32/64 bit compatibility 56 - * support must provided their onw .compat_ioctl() handler that processes 57 - * private ioctls and calls drm_compat_ioctl() for core ioctls. 54 + * drm_read(), drm_ioctl() and drm_compat_ioctl() if CONFIG_COMPAT is enabled 55 + * (note that drm_compat_ioctl will be NULL if CONFIG_COMPAT=n). Drivers which 56 + * implement private ioctls that require 32/64 bit compatibility support must 57 + * provide their own .compat_ioctl() handler that processes private ioctls and 58 + * calls drm_compat_ioctl() for core ioctls. 58 59 * 59 60 * In addition drm_read() and drm_poll() provide support for DRM events. DRM 60 61 * events are a generic and extensible means to send asynchronous events to ··· 76 75 * .open = drm_open, 77 76 * .release = drm_release, 78 77 * .unlocked_ioctl = drm_ioctl, 79 - * #ifdef CONFIG_COMPAT 80 - * .compat_ioctl = drm_compat_ioctl, 81 - * #endif 78 + * .compat_ioctl = drm_compat_ioctl, // NULL if CONFIG_COMPAT=n 82 79 * .poll = drm_poll, 83 80 * .read = drm_read, 84 81 * .llseek = no_llseek,
-2
drivers/gpu/drm/etnaviv/etnaviv_drv.c
··· 479 479 .open = drm_open, 480 480 .release = drm_release, 481 481 .unlocked_ioctl = drm_ioctl, 482 - #ifdef CONFIG_COMPAT 483 482 .compat_ioctl = drm_compat_ioctl, 484 - #endif 485 483 .poll = drm_poll, 486 484 .read = drm_read, 487 485 .llseek = no_llseek,
-2
drivers/gpu/drm/exynos/exynos_drm_drv.c
··· 346 346 .poll = drm_poll, 347 347 .read = drm_read, 348 348 .unlocked_ioctl = drm_ioctl, 349 - #ifdef CONFIG_COMPAT 350 349 .compat_ioctl = drm_compat_ioctl, 351 - #endif 352 350 .release = drm_release, 353 351 }; 354 352
-2
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
··· 180 180 .open = drm_open, 181 181 .release = drm_release, 182 182 .unlocked_ioctl = drm_ioctl, 183 - #ifdef CONFIG_COMPAT 184 183 .compat_ioctl = drm_compat_ioctl, 185 - #endif 186 184 .poll = drm_poll, 187 185 .read = drm_read, 188 186 .llseek = no_llseek,
-2
drivers/gpu/drm/gma500/psb_drv.c
··· 473 473 .open = drm_open, 474 474 .release = drm_release, 475 475 .unlocked_ioctl = psb_unlocked_ioctl, 476 - #ifdef CONFIG_COMPAT 477 476 .compat_ioctl = drm_compat_ioctl, 478 - #endif 479 477 .mmap = drm_gem_mmap, 480 478 .poll = drm_poll, 481 479 .read = drm_read,
-2
drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
··· 152 152 .open = drm_open, 153 153 .release = drm_release, 154 154 .unlocked_ioctl = drm_ioctl, 155 - #ifdef CONFIG_COMPAT 156 155 .compat_ioctl = drm_compat_ioctl, 157 - #endif 158 156 .poll = drm_poll, 159 157 .read = drm_read, 160 158 .llseek = no_llseek,
-2
drivers/gpu/drm/i810/i810_dma.c
··· 113 113 .release = drm_release, 114 114 .unlocked_ioctl = drm_ioctl, 115 115 .mmap = i810_mmap_buffers, 116 - #ifdef CONFIG_COMPAT 117 116 .compat_ioctl = drm_compat_ioctl, 118 - #endif 119 117 .llseek = noop_llseek, 120 118 }; 121 119
-2
drivers/gpu/drm/i810/i810_drv.c
··· 49 49 .unlocked_ioctl = drm_ioctl, 50 50 .mmap = drm_legacy_mmap, 51 51 .poll = drm_poll, 52 - #ifdef CONFIG_COMPAT 53 52 .compat_ioctl = drm_compat_ioctl, 54 - #endif 55 53 .llseek = noop_llseek, 56 54 }; 57 55
-2
drivers/gpu/drm/i915/i915_drv.c
··· 2509 2509 .mmap = drm_gem_mmap, 2510 2510 .poll = drm_poll, 2511 2511 .read = drm_read, 2512 - #ifdef CONFIG_COMPAT 2513 2512 .compat_ioctl = i915_compat_ioctl, 2514 - #endif 2515 2513 .llseek = noop_llseek, 2516 2514 }; 2517 2515
+2
drivers/gpu/drm/i915/i915_drv.h
··· 2901 2901 #ifdef CONFIG_COMPAT 2902 2902 extern long i915_compat_ioctl(struct file *filp, unsigned int cmd, 2903 2903 unsigned long arg); 2904 + #else 2905 + #define i915_compat_ioctl NULL 2904 2906 #endif 2905 2907 extern const struct dev_pm_ops i915_pm_ops; 2906 2908
-2
drivers/gpu/drm/mediatek/mtk_drm_drv.c
··· 249 249 .mmap = mtk_drm_gem_mmap, 250 250 .poll = drm_poll, 251 251 .read = drm_read, 252 - #ifdef CONFIG_COMPAT 253 252 .compat_ioctl = drm_compat_ioctl, 254 - #endif 255 253 }; 256 254 257 255 static struct drm_driver mtk_drm_driver = {
-2
drivers/gpu/drm/mgag200/mgag200_drv.c
··· 82 82 .unlocked_ioctl = drm_ioctl, 83 83 .mmap = mgag200_mmap, 84 84 .poll = drm_poll, 85 - #ifdef CONFIG_COMPAT 86 85 .compat_ioctl = drm_compat_ioctl, 87 - #endif 88 86 .read = drm_read, 89 87 }; 90 88
-2
drivers/gpu/drm/msm/msm_drv.c
··· 768 768 .open = drm_open, 769 769 .release = drm_release, 770 770 .unlocked_ioctl = drm_ioctl, 771 - #ifdef CONFIG_COMPAT 772 771 .compat_ioctl = drm_compat_ioctl, 773 - #endif 774 772 .poll = drm_poll, 775 773 .read = drm_read, 776 774 .llseek = no_llseek,
-2
drivers/gpu/drm/rcar-du/rcar_du_drv.c
··· 201 201 .open = drm_open, 202 202 .release = drm_release, 203 203 .unlocked_ioctl = drm_ioctl, 204 - #ifdef CONFIG_COMPAT 205 204 .compat_ioctl = drm_compat_ioctl, 206 - #endif 207 205 .poll = drm_poll, 208 206 .read = drm_read, 209 207 .llseek = no_llseek,
-2
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
··· 275 275 .poll = drm_poll, 276 276 .read = drm_read, 277 277 .unlocked_ioctl = drm_ioctl, 278 - #ifdef CONFIG_COMPAT 279 278 .compat_ioctl = drm_compat_ioctl, 280 - #endif 281 279 .release = drm_release, 282 280 }; 283 281
-2
drivers/gpu/drm/savage/savage_drv.c
··· 42 42 .unlocked_ioctl = drm_ioctl, 43 43 .mmap = drm_legacy_mmap, 44 44 .poll = drm_poll, 45 - #ifdef CONFIG_COMPAT 46 45 .compat_ioctl = drm_compat_ioctl, 47 - #endif 48 46 .llseek = noop_llseek, 49 47 }; 50 48
-2
drivers/gpu/drm/shmobile/shmob_drm_drv.c
··· 245 245 .open = drm_open, 246 246 .release = drm_release, 247 247 .unlocked_ioctl = drm_ioctl, 248 - #ifdef CONFIG_COMPAT 249 248 .compat_ioctl = drm_compat_ioctl, 250 - #endif 251 249 .poll = drm_poll, 252 250 .read = drm_read, 253 251 .llseek = no_llseek,
-2
drivers/gpu/drm/sis/sis_drv.c
··· 72 72 .unlocked_ioctl = drm_ioctl, 73 73 .mmap = drm_legacy_mmap, 74 74 .poll = drm_poll, 75 - #ifdef CONFIG_COMPAT 76 75 .compat_ioctl = drm_compat_ioctl, 77 - #endif 78 76 .llseek = noop_llseek, 79 77 }; 80 78
-2
drivers/gpu/drm/sti/sti_drv.c
··· 277 277 .poll = drm_poll, 278 278 .read = drm_read, 279 279 .unlocked_ioctl = drm_ioctl, 280 - #ifdef CONFIG_COMPAT 281 280 .compat_ioctl = drm_compat_ioctl, 282 - #endif 283 281 .release = drm_release, 284 282 }; 285 283
-2
drivers/gpu/drm/sun4i/sun4i_drv.c
··· 53 53 .open = drm_open, 54 54 .release = drm_release, 55 55 .unlocked_ioctl = drm_ioctl, 56 - #ifdef CONFIG_COMPAT 57 56 .compat_ioctl = drm_compat_ioctl, 58 - #endif 59 57 .poll = drm_poll, 60 58 .read = drm_read, 61 59 .llseek = no_llseek,
-2
drivers/gpu/drm/tdfx/tdfx_drv.c
··· 49 49 .unlocked_ioctl = drm_ioctl, 50 50 .mmap = drm_legacy_mmap, 51 51 .poll = drm_poll, 52 - #ifdef CONFIG_COMPAT 53 52 .compat_ioctl = drm_compat_ioctl, 54 - #endif 55 53 .llseek = noop_llseek, 56 54 }; 57 55
-2
drivers/gpu/drm/tegra/drm.c
··· 802 802 .mmap = tegra_drm_mmap, 803 803 .poll = drm_poll, 804 804 .read = drm_read, 805 - #ifdef CONFIG_COMPAT 806 805 .compat_ioctl = drm_compat_ioctl, 807 - #endif 808 806 .llseek = noop_llseek, 809 807 }; 810 808
-2
drivers/gpu/drm/tilcdc/tilcdc_drv.c
··· 573 573 .open = drm_open, 574 574 .release = drm_release, 575 575 .unlocked_ioctl = drm_ioctl, 576 - #ifdef CONFIG_COMPAT 577 576 .compat_ioctl = drm_compat_ioctl, 578 - #endif 579 577 .poll = drm_poll, 580 578 .read = drm_read, 581 579 .llseek = no_llseek,
-2
drivers/gpu/drm/udl/udl_drv.c
··· 44 44 .read = drm_read, 45 45 .unlocked_ioctl = drm_ioctl, 46 46 .release = drm_release, 47 - #ifdef CONFIG_COMPAT 48 47 .compat_ioctl = drm_compat_ioctl, 49 - #endif 50 48 .llseek = noop_llseek, 51 49 }; 52 50
-2
drivers/gpu/drm/vc4/vc4_drv.c
··· 103 103 .mmap = vc4_mmap, 104 104 .poll = drm_poll, 105 105 .read = drm_read, 106 - #ifdef CONFIG_COMPAT 107 106 .compat_ioctl = drm_compat_ioctl, 108 - #endif 109 107 .llseek = noop_llseek, 110 108 }; 111 109
-2
drivers/gpu/drm/via/via_drv.c
··· 64 64 .unlocked_ioctl = drm_ioctl, 65 65 .mmap = drm_legacy_mmap, 66 66 .poll = drm_poll, 67 - #ifdef CONFIG_COMPAT 68 67 .compat_ioctl = drm_compat_ioctl, 69 - #endif 70 68 .llseek = noop_llseek, 71 69 }; 72 70
-2
drivers/gpu/drm/virtio/virtgpu_drv.c
··· 108 108 .read = drm_read, 109 109 .unlocked_ioctl = drm_ioctl, 110 110 .release = drm_release, 111 - #ifdef CONFIG_COMPAT 112 111 .compat_ioctl = drm_compat_ioctl, 113 - #endif 114 112 .llseek = noop_llseek, 115 113 }; 116 114
+5
include/drm/drmP.h
··· 941 941 extern int drm_ioctl_permit(u32 flags, struct drm_file *file_priv); 942 942 extern long drm_ioctl(struct file *filp, 943 943 unsigned int cmd, unsigned long arg); 944 + #ifdef CONFIG_COMPAT 944 945 extern long drm_compat_ioctl(struct file *filp, 945 946 unsigned int cmd, unsigned long arg); 947 + #else 948 + /* Let drm_compat_ioctl be assigned to .compat_ioctl unconditionally */ 949 + #define drm_compat_ioctl NULL 950 + #endif 946 951 extern bool drm_ioctl_flags(unsigned int nr, unsigned int *flags); 947 952 948 953 /* File Operations (drm_fops.c) */