aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.c4
-rw-r--r--drivers/gpu/drm/gma500/psb_drv.c2
-rw-r--r--drivers/gpu/drm/i810/i810_dma.c2
-rw-r--r--drivers/gpu/drm/i810/i810_drv.h2
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c2
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h2
-rw-r--r--drivers/gpu/drm/mga/mga_drv.h2
-rw-r--r--drivers/gpu/drm/mga/mga_state.c2
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_drm.c5
-rw-r--r--drivers/gpu/drm/omapdrm/omap_drv.c2
-rw-r--r--drivers/gpu/drm/qxl/qxl_drv.h2
-rw-r--r--drivers/gpu/drm/qxl/qxl_ioctl.c2
-rw-r--r--drivers/gpu/drm/r128/r128_drv.h2
-rw-r--r--drivers/gpu/drm/r128/r128_state.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_drv.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_kms.c2
-rw-r--r--drivers/gpu/drm/savage/savage_bci.c2
-rw-r--r--drivers/gpu/drm/savage/savage_drv.h2
-rw-r--r--drivers/gpu/drm/sis/sis_drv.h2
-rw-r--r--drivers/gpu/drm/sis/sis_mm.c2
-rw-r--r--drivers/gpu/drm/via/via_dma.c2
-rw-r--r--drivers/gpu/drm/via/via_drv.h2
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_drv.c4
-rw-r--r--drivers/gpu/host1x/drm/drm.c2
-rw-r--r--drivers/staging/imx-drm/imx-drm-core.c2
-rw-r--r--include/drm/drmP.h2
26 files changed, 29 insertions, 30 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 21fc28ae5e6e..df81d3c959b4 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -213,7 +213,7 @@ static const struct vm_operations_struct exynos_drm_gem_vm_ops = {
213 .close = drm_gem_vm_close, 213 .close = drm_gem_vm_close,
214}; 214};
215 215
216static struct drm_ioctl_desc exynos_ioctls[] = { 216static const struct drm_ioctl_desc exynos_ioctls[] = {
217 DRM_IOCTL_DEF_DRV(EXYNOS_GEM_CREATE, exynos_drm_gem_create_ioctl, 217 DRM_IOCTL_DEF_DRV(EXYNOS_GEM_CREATE, exynos_drm_gem_create_ioctl,
218 DRM_UNLOCKED | DRM_AUTH), 218 DRM_UNLOCKED | DRM_AUTH),
219 DRM_IOCTL_DEF_DRV(EXYNOS_GEM_MAP_OFFSET, 219 DRM_IOCTL_DEF_DRV(EXYNOS_GEM_MAP_OFFSET,
@@ -277,6 +277,7 @@ static struct drm_driver exynos_drm_driver = {
277 .gem_prime_export = exynos_dmabuf_prime_export, 277 .gem_prime_export = exynos_dmabuf_prime_export,
278 .gem_prime_import = exynos_dmabuf_prime_import, 278 .gem_prime_import = exynos_dmabuf_prime_import,
279 .ioctls = exynos_ioctls, 279 .ioctls = exynos_ioctls,
280 .num_ioctls = ARRAY_SIZE(exynos_ioctls),
280 .fops = &exynos_drm_driver_fops, 281 .fops = &exynos_drm_driver_fops,
281 .name = DRIVER_NAME, 282 .name = DRIVER_NAME,
282 .desc = DRIVER_DESC, 283 .desc = DRIVER_DESC,
@@ -288,7 +289,6 @@ static struct drm_driver exynos_drm_driver = {
288static int exynos_drm_platform_probe(struct platform_device *pdev) 289static int exynos_drm_platform_probe(struct platform_device *pdev)
289{ 290{
290 pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); 291 pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
291 exynos_drm_driver.num_ioctls = DRM_ARRAY_SIZE(exynos_ioctls);
292 292
293 return drm_platform_init(&exynos_drm_driver, pdev); 293 return drm_platform_init(&exynos_drm_driver, pdev);
294} 294}
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
index ed06d5ce3757..d13c2fc848bc 100644
--- a/drivers/gpu/drm/gma500/psb_drv.c
+++ b/drivers/gpu/drm/gma500/psb_drv.c
@@ -131,7 +131,7 @@ static int psb_gamma_ioctl(struct drm_device *dev, void *data,
131static int psb_dpst_bl_ioctl(struct drm_device *dev, void *data, 131static int psb_dpst_bl_ioctl(struct drm_device *dev, void *data,
132 struct drm_file *file_priv); 132 struct drm_file *file_priv);
133 133
134static struct drm_ioctl_desc psb_ioctls[] = { 134static const struct drm_ioctl_desc psb_ioctls[] = {
135 DRM_IOCTL_DEF_DRV(GMA_ADB, psb_adb_ioctl, DRM_AUTH), 135 DRM_IOCTL_DEF_DRV(GMA_ADB, psb_adb_ioctl, DRM_AUTH),
136 DRM_IOCTL_DEF_DRV(GMA_MODE_OPERATION, psb_mode_operation_ioctl, 136 DRM_IOCTL_DEF_DRV(GMA_MODE_OPERATION, psb_mode_operation_ioctl,
137 DRM_AUTH), 137 DRM_AUTH),
diff --git a/drivers/gpu/drm/i810/i810_dma.c b/drivers/gpu/drm/i810/i810_dma.c
index ada49eda489f..eac755bb8f9b 100644
--- a/drivers/gpu/drm/i810/i810_dma.c
+++ b/drivers/gpu/drm/i810/i810_dma.c
@@ -1241,7 +1241,7 @@ int i810_driver_dma_quiescent(struct drm_device *dev)
1241 return 0; 1241 return 0;
1242} 1242}
1243 1243
1244struct drm_ioctl_desc i810_ioctls[] = { 1244const struct drm_ioctl_desc i810_ioctls[] = {
1245 DRM_IOCTL_DEF_DRV(I810_INIT, i810_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED), 1245 DRM_IOCTL_DEF_DRV(I810_INIT, i810_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY|DRM_UNLOCKED),
1246 DRM_IOCTL_DEF_DRV(I810_VERTEX, i810_dma_vertex, DRM_AUTH|DRM_UNLOCKED), 1246 DRM_IOCTL_DEF_DRV(I810_VERTEX, i810_dma_vertex, DRM_AUTH|DRM_UNLOCKED),
1247 DRM_IOCTL_DEF_DRV(I810_CLEAR, i810_clear_bufs, DRM_AUTH|DRM_UNLOCKED), 1247 DRM_IOCTL_DEF_DRV(I810_CLEAR, i810_clear_bufs, DRM_AUTH|DRM_UNLOCKED),
diff --git a/drivers/gpu/drm/i810/i810_drv.h b/drivers/gpu/drm/i810/i810_drv.h
index 6e0acad9e0f5..d4d16eddd651 100644
--- a/drivers/gpu/drm/i810/i810_drv.h
+++ b/drivers/gpu/drm/i810/i810_drv.h
@@ -125,7 +125,7 @@ extern void i810_driver_preclose(struct drm_device *dev,
125extern int i810_driver_device_is_agp(struct drm_device *dev); 125extern int i810_driver_device_is_agp(struct drm_device *dev);
126 126
127extern long i810_ioctl(struct file *file, unsigned int cmd, unsigned long arg); 127extern long i810_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
128extern struct drm_ioctl_desc i810_ioctls[]; 128extern const struct drm_ioctl_desc i810_ioctls[];
129extern int i810_max_ioctl; 129extern int i810_max_ioctl;
130 130
131#define I810_BASE(reg) ((unsigned long) \ 131#define I810_BASE(reg) ((unsigned long) \
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 6ce903306320..78ad4dcc8e2f 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1834,7 +1834,7 @@ void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
1834 kfree(file_priv); 1834 kfree(file_priv);
1835} 1835}
1836 1836
1837struct drm_ioctl_desc i915_ioctls[] = { 1837const struct drm_ioctl_desc i915_ioctls[] = {
1838 DRM_IOCTL_DEF_DRV(I915_INIT, i915_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 1838 DRM_IOCTL_DEF_DRV(I915_INIT, i915_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
1839 DRM_IOCTL_DEF_DRV(I915_FLUSH, i915_flush_ioctl, DRM_AUTH), 1839 DRM_IOCTL_DEF_DRV(I915_FLUSH, i915_flush_ioctl, DRM_AUTH),
1840 DRM_IOCTL_DEF_DRV(I915_FLIP, i915_flip_bufs, DRM_AUTH), 1840 DRM_IOCTL_DEF_DRV(I915_FLIP, i915_flip_bufs, DRM_AUTH),
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5cb3e4d34230..3dd5731769fa 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1566,7 +1566,7 @@ struct drm_i915_file_private {
1566#define INTEL_RC6p_ENABLE (1<<1) 1566#define INTEL_RC6p_ENABLE (1<<1)
1567#define INTEL_RC6pp_ENABLE (1<<2) 1567#define INTEL_RC6pp_ENABLE (1<<2)
1568 1568
1569extern struct drm_ioctl_desc i915_ioctls[]; 1569extern const struct drm_ioctl_desc i915_ioctls[];
1570extern int i915_max_ioctl; 1570extern int i915_max_ioctl;
1571extern unsigned int i915_fbpercrtc __always_unused; 1571extern unsigned int i915_fbpercrtc __always_unused;
1572extern int i915_panel_ignore_lid __read_mostly; 1572extern int i915_panel_ignore_lid __read_mostly;
diff --git a/drivers/gpu/drm/mga/mga_drv.h b/drivers/gpu/drm/mga/mga_drv.h
index 54558a01969a..ca4bc54ea214 100644
--- a/drivers/gpu/drm/mga/mga_drv.h
+++ b/drivers/gpu/drm/mga/mga_drv.h
@@ -149,7 +149,7 @@ typedef struct drm_mga_private {
149 unsigned int agp_size; 149 unsigned int agp_size;
150} drm_mga_private_t; 150} drm_mga_private_t;
151 151
152extern struct drm_ioctl_desc mga_ioctls[]; 152extern const struct drm_ioctl_desc mga_ioctls[];
153extern int mga_max_ioctl; 153extern int mga_max_ioctl;
154 154
155 /* mga_dma.c */ 155 /* mga_dma.c */
diff --git a/drivers/gpu/drm/mga/mga_state.c b/drivers/gpu/drm/mga/mga_state.c
index 9c145143ad0f..37cc2fb4eadd 100644
--- a/drivers/gpu/drm/mga/mga_state.c
+++ b/drivers/gpu/drm/mga/mga_state.c
@@ -1083,7 +1083,7 @@ file_priv)
1083 return 0; 1083 return 0;
1084} 1084}
1085 1085
1086struct drm_ioctl_desc mga_ioctls[] = { 1086const struct drm_ioctl_desc mga_ioctls[] = {
1087 DRM_IOCTL_DEF_DRV(MGA_INIT, mga_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 1087 DRM_IOCTL_DEF_DRV(MGA_INIT, mga_dma_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
1088 DRM_IOCTL_DEF_DRV(MGA_FLUSH, mga_dma_flush, DRM_AUTH), 1088 DRM_IOCTL_DEF_DRV(MGA_FLUSH, mga_dma_flush, DRM_AUTH),
1089 DRM_IOCTL_DEF_DRV(MGA_RESET, mga_dma_reset, DRM_AUTH), 1089 DRM_IOCTL_DEF_DRV(MGA_RESET, mga_dma_reset, DRM_AUTH),
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index a900cde497a6..2c2097af2378 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -640,7 +640,7 @@ nouveau_drm_postclose(struct drm_device *dev, struct drm_file *fpriv)
640 nouveau_cli_destroy(cli); 640 nouveau_cli_destroy(cli);
641} 641}
642 642
643static struct drm_ioctl_desc 643static const struct drm_ioctl_desc
644nouveau_ioctls[] = { 644nouveau_ioctls[] = {
645 DRM_IOCTL_DEF_DRV(NOUVEAU_GETPARAM, nouveau_abi16_ioctl_getparam, DRM_UNLOCKED|DRM_AUTH), 645 DRM_IOCTL_DEF_DRV(NOUVEAU_GETPARAM, nouveau_abi16_ioctl_getparam, DRM_UNLOCKED|DRM_AUTH),
646 DRM_IOCTL_DEF_DRV(NOUVEAU_SETPARAM, nouveau_abi16_ioctl_setparam, DRM_UNLOCKED|DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 646 DRM_IOCTL_DEF_DRV(NOUVEAU_SETPARAM, nouveau_abi16_ioctl_setparam, DRM_UNLOCKED|DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
@@ -695,6 +695,7 @@ driver = {
695 .disable_vblank = nouveau_drm_vblank_disable, 695 .disable_vblank = nouveau_drm_vblank_disable,
696 696
697 .ioctls = nouveau_ioctls, 697 .ioctls = nouveau_ioctls,
698 .num_ioctls = ARRAY_SIZE(nouveau_ioctls),
698 .fops = &nouveau_driver_fops, 699 .fops = &nouveau_driver_fops,
699 700
700 .prime_handle_to_fd = drm_gem_prime_handle_to_fd, 701 .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
@@ -765,8 +766,6 @@ nouveau_drm_pci_driver = {
765static int __init 766static int __init
766nouveau_drm_init(void) 767nouveau_drm_init(void)
767{ 768{
768 driver.num_ioctls = ARRAY_SIZE(nouveau_ioctls);
769
770 if (nouveau_modeset == -1) { 769 if (nouveau_modeset == -1) {
771#ifdef CONFIG_VGA_CONSOLE 770#ifdef CONFIG_VGA_CONSOLE
772 if (vgacon_text_force()) 771 if (vgacon_text_force())
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
index 1ddd1a15764d..2f9e22e22bd4 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -419,7 +419,7 @@ static int ioctl_gem_info(struct drm_device *dev, void *data,
419 return ret; 419 return ret;
420} 420}
421 421
422static struct drm_ioctl_desc ioctls[DRM_COMMAND_END - DRM_COMMAND_BASE] = { 422static const struct drm_ioctl_desc ioctls[DRM_COMMAND_END - DRM_COMMAND_BASE] = {
423 DRM_IOCTL_DEF_DRV(OMAP_GET_PARAM, ioctl_get_param, DRM_UNLOCKED|DRM_AUTH), 423 DRM_IOCTL_DEF_DRV(OMAP_GET_PARAM, ioctl_get_param, DRM_UNLOCKED|DRM_AUTH),
424 DRM_IOCTL_DEF_DRV(OMAP_SET_PARAM, ioctl_set_param, DRM_UNLOCKED|DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 424 DRM_IOCTL_DEF_DRV(OMAP_SET_PARAM, ioctl_set_param, DRM_UNLOCKED|DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
425 DRM_IOCTL_DEF_DRV(OMAP_GEM_NEW, ioctl_gem_new, DRM_UNLOCKED|DRM_AUTH), 425 DRM_IOCTL_DEF_DRV(OMAP_GEM_NEW, ioctl_gem_new, DRM_UNLOCKED|DRM_AUTH),
diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
index 57cb7a8e6fb5..afd09d48d72c 100644
--- a/drivers/gpu/drm/qxl/qxl_drv.h
+++ b/drivers/gpu/drm/qxl/qxl_drv.h
@@ -319,7 +319,7 @@ struct qxl_device {
319/* forward declaration for QXL_INFO_IO */ 319/* forward declaration for QXL_INFO_IO */
320void qxl_io_log(struct qxl_device *qdev, const char *fmt, ...); 320void qxl_io_log(struct qxl_device *qdev, const char *fmt, ...);
321 321
322extern struct drm_ioctl_desc qxl_ioctls[]; 322extern const struct drm_ioctl_desc qxl_ioctls[];
323extern int qxl_max_ioctl; 323extern int qxl_max_ioctl;
324 324
325int qxl_driver_load(struct drm_device *dev, unsigned long flags); 325int qxl_driver_load(struct drm_device *dev, unsigned long flags);
diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
index 27f45e49250d..6cd7273c0804 100644
--- a/drivers/gpu/drm/qxl/qxl_ioctl.c
+++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
@@ -402,7 +402,7 @@ static int qxl_alloc_surf_ioctl(struct drm_device *dev, void *data,
402 return ret; 402 return ret;
403} 403}
404 404
405struct drm_ioctl_desc qxl_ioctls[] = { 405const struct drm_ioctl_desc qxl_ioctls[] = {
406 DRM_IOCTL_DEF_DRV(QXL_ALLOC, qxl_alloc_ioctl, DRM_AUTH|DRM_UNLOCKED), 406 DRM_IOCTL_DEF_DRV(QXL_ALLOC, qxl_alloc_ioctl, DRM_AUTH|DRM_UNLOCKED),
407 407
408 DRM_IOCTL_DEF_DRV(QXL_MAP, qxl_map_ioctl, DRM_AUTH|DRM_UNLOCKED), 408 DRM_IOCTL_DEF_DRV(QXL_MAP, qxl_map_ioctl, DRM_AUTH|DRM_UNLOCKED),
diff --git a/drivers/gpu/drm/r128/r128_drv.h b/drivers/gpu/drm/r128/r128_drv.h
index 930c71b2fb5e..56eb5e3f5439 100644
--- a/drivers/gpu/drm/r128/r128_drv.h
+++ b/drivers/gpu/drm/r128/r128_drv.h
@@ -131,7 +131,7 @@ typedef struct drm_r128_buf_priv {
131 drm_r128_freelist_t *list_entry; 131 drm_r128_freelist_t *list_entry;
132} drm_r128_buf_priv_t; 132} drm_r128_buf_priv_t;
133 133
134extern struct drm_ioctl_desc r128_ioctls[]; 134extern const struct drm_ioctl_desc r128_ioctls[];
135extern int r128_max_ioctl; 135extern int r128_max_ioctl;
136 136
137 /* r128_cce.c */ 137 /* r128_cce.c */
diff --git a/drivers/gpu/drm/r128/r128_state.c b/drivers/gpu/drm/r128/r128_state.c
index 19bb7e6f3d9a..01dd9aef9f0e 100644
--- a/drivers/gpu/drm/r128/r128_state.c
+++ b/drivers/gpu/drm/r128/r128_state.c
@@ -1643,7 +1643,7 @@ void r128_driver_lastclose(struct drm_device *dev)
1643 r128_do_cleanup_cce(dev); 1643 r128_do_cleanup_cce(dev);
1644} 1644}
1645 1645
1646struct drm_ioctl_desc r128_ioctls[] = { 1646const struct drm_ioctl_desc r128_ioctls[] = {
1647 DRM_IOCTL_DEF_DRV(R128_INIT, r128_cce_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 1647 DRM_IOCTL_DEF_DRV(R128_INIT, r128_cce_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
1648 DRM_IOCTL_DEF_DRV(R128_CCE_START, r128_cce_start, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 1648 DRM_IOCTL_DEF_DRV(R128_CCE_START, r128_cce_start, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
1649 DRM_IOCTL_DEF_DRV(R128_CCE_STOP, r128_cce_stop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 1649 DRM_IOCTL_DEF_DRV(R128_CCE_STOP, r128_cce_stop, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index 4071fe70c416..fa7a7e13da6c 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -109,7 +109,7 @@ void radeon_gem_object_close(struct drm_gem_object *obj,
109 struct drm_file *file_priv); 109 struct drm_file *file_priv);
110extern int radeon_get_crtc_scanoutpos(struct drm_device *dev, int crtc, 110extern int radeon_get_crtc_scanoutpos(struct drm_device *dev, int crtc,
111 int *vpos, int *hpos); 111 int *vpos, int *hpos);
112extern struct drm_ioctl_desc radeon_ioctls_kms[]; 112extern const struct drm_ioctl_desc radeon_ioctls_kms[];
113extern int radeon_max_kms_ioctl; 113extern int radeon_max_kms_ioctl;
114int radeon_mmap(struct file *filp, struct vm_area_struct *vma); 114int radeon_mmap(struct file *filp, struct vm_area_struct *vma);
115int radeon_mode_dumb_mmap(struct drm_file *filp, 115int radeon_mode_dumb_mmap(struct drm_file *filp,
diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
index 07b023655bb4..866c2b70aa6f 100644
--- a/drivers/gpu/drm/radeon/radeon_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_kms.c
@@ -722,7 +722,7 @@ KMS_INVALID_IOCTL(radeon_surface_alloc_kms)
722KMS_INVALID_IOCTL(radeon_surface_free_kms) 722KMS_INVALID_IOCTL(radeon_surface_free_kms)
723 723
724 724
725struct drm_ioctl_desc radeon_ioctls_kms[] = { 725const struct drm_ioctl_desc radeon_ioctls_kms[] = {
726 DRM_IOCTL_DEF_DRV(RADEON_CP_INIT, radeon_cp_init_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 726 DRM_IOCTL_DEF_DRV(RADEON_CP_INIT, radeon_cp_init_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
727 DRM_IOCTL_DEF_DRV(RADEON_CP_START, radeon_cp_start_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 727 DRM_IOCTL_DEF_DRV(RADEON_CP_START, radeon_cp_start_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
728 DRM_IOCTL_DEF_DRV(RADEON_CP_STOP, radeon_cp_stop_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 728 DRM_IOCTL_DEF_DRV(RADEON_CP_STOP, radeon_cp_stop_kms, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
diff --git a/drivers/gpu/drm/savage/savage_bci.c b/drivers/gpu/drm/savage/savage_bci.c
index bd6b2cf508d5..b17d0710871a 100644
--- a/drivers/gpu/drm/savage/savage_bci.c
+++ b/drivers/gpu/drm/savage/savage_bci.c
@@ -1072,7 +1072,7 @@ void savage_reclaim_buffers(struct drm_device *dev, struct drm_file *file_priv)
1072 drm_idlelock_release(&file_priv->master->lock); 1072 drm_idlelock_release(&file_priv->master->lock);
1073} 1073}
1074 1074
1075struct drm_ioctl_desc savage_ioctls[] = { 1075const struct drm_ioctl_desc savage_ioctls[] = {
1076 DRM_IOCTL_DEF_DRV(SAVAGE_BCI_INIT, savage_bci_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), 1076 DRM_IOCTL_DEF_DRV(SAVAGE_BCI_INIT, savage_bci_init, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY),
1077 DRM_IOCTL_DEF_DRV(SAVAGE_BCI_CMDBUF, savage_bci_cmdbuf, DRM_AUTH), 1077 DRM_IOCTL_DEF_DRV(SAVAGE_BCI_CMDBUF, savage_bci_cmdbuf, DRM_AUTH),
1078 DRM_IOCTL_DEF_DRV(SAVAGE_BCI_EVENT_EMIT, savage_bci_event_emit, DRM_AUTH), 1078 DRM_IOCTL_DEF_DRV(SAVAGE_BCI_EVENT_EMIT, savage_bci_event_emit, DRM_AUTH),
diff --git a/drivers/gpu/drm/savage/savage_drv.h b/drivers/gpu/drm/savage/savage_drv.h
index c05082a59f6f..335f8fcf1041 100644
--- a/drivers/gpu/drm/savage/savage_drv.h
+++ b/drivers/gpu/drm/savage/savage_drv.h
@@ -104,7 +104,7 @@ enum savage_family {
104 S3_LAST 104 S3_LAST
105}; 105};
106 106
107extern struct drm_ioctl_desc savage_ioctls[]; 107extern const struct drm_ioctl_desc savage_ioctls[];
108extern int savage_max_ioctl; 108extern int savage_max_ioctl;
109 109
110#define S3_SAVAGE3D_SERIES(chip) ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE_MX)) 110#define S3_SAVAGE3D_SERIES(chip) ((chip>=S3_SAVAGE3D) && (chip<=S3_SAVAGE_MX))
diff --git a/drivers/gpu/drm/sis/sis_drv.h b/drivers/gpu/drm/sis/sis_drv.h
index 13b527bb83be..c31c0253054d 100644
--- a/drivers/gpu/drm/sis/sis_drv.h
+++ b/drivers/gpu/drm/sis/sis_drv.h
@@ -70,7 +70,7 @@ extern void sis_reclaim_buffers_locked(struct drm_device *dev,
70 struct drm_file *file_priv); 70 struct drm_file *file_priv);
71extern void sis_lastclose(struct drm_device *dev); 71extern void sis_lastclose(struct drm_device *dev);
72 72
73extern struct drm_ioctl_desc sis_ioctls[]; 73extern const struct drm_ioctl_desc sis_ioctls[];
74extern int sis_max_ioctl; 74extern int sis_max_ioctl;
75 75
76#endif 76#endif
diff --git a/drivers/gpu/drm/sis/sis_mm.c b/drivers/gpu/drm/sis/sis_mm.c
index 23a234985941..01857d836350 100644
--- a/drivers/gpu/drm/sis/sis_mm.c
+++ b/drivers/gpu/drm/sis/sis_mm.c
@@ -350,7 +350,7 @@ void sis_reclaim_buffers_locked(struct drm_device *dev,
350 return; 350 return;
351} 351}
352 352
353struct drm_ioctl_desc sis_ioctls[] = { 353const struct drm_ioctl_desc sis_ioctls[] = {
354 DRM_IOCTL_DEF_DRV(SIS_FB_ALLOC, sis_fb_alloc, DRM_AUTH), 354 DRM_IOCTL_DEF_DRV(SIS_FB_ALLOC, sis_fb_alloc, DRM_AUTH),
355 DRM_IOCTL_DEF_DRV(SIS_FB_FREE, sis_drm_free, DRM_AUTH), 355 DRM_IOCTL_DEF_DRV(SIS_FB_FREE, sis_drm_free, DRM_AUTH),
356 DRM_IOCTL_DEF_DRV(SIS_AGP_INIT, sis_ioctl_agp_init, DRM_AUTH | DRM_MASTER | DRM_ROOT_ONLY), 356 DRM_IOCTL_DEF_DRV(SIS_AGP_INIT, sis_ioctl_agp_init, DRM_AUTH | DRM_MASTER | DRM_ROOT_ONLY),
diff --git a/drivers/gpu/drm/via/via_dma.c b/drivers/gpu/drm/via/via_dma.c
index 13558f5a2422..652f9b43ec9d 100644
--- a/drivers/gpu/drm/via/via_dma.c
+++ b/drivers/gpu/drm/via/via_dma.c
@@ -720,7 +720,7 @@ static int via_cmdbuf_size(struct drm_device *dev, void *data, struct drm_file *
720 return ret; 720 return ret;
721} 721}
722 722
723struct drm_ioctl_desc via_ioctls[] = { 723const struct drm_ioctl_desc via_ioctls[] = {
724 DRM_IOCTL_DEF_DRV(VIA_ALLOCMEM, via_mem_alloc, DRM_AUTH), 724 DRM_IOCTL_DEF_DRV(VIA_ALLOCMEM, via_mem_alloc, DRM_AUTH),
725 DRM_IOCTL_DEF_DRV(VIA_FREEMEM, via_mem_free, DRM_AUTH), 725 DRM_IOCTL_DEF_DRV(VIA_FREEMEM, via_mem_free, DRM_AUTH),
726 DRM_IOCTL_DEF_DRV(VIA_AGP_INIT, via_agp_init, DRM_AUTH|DRM_MASTER), 726 DRM_IOCTL_DEF_DRV(VIA_AGP_INIT, via_agp_init, DRM_AUTH|DRM_MASTER),
diff --git a/drivers/gpu/drm/via/via_drv.h b/drivers/gpu/drm/via/via_drv.h
index 893a65090c36..a811ef2b505f 100644
--- a/drivers/gpu/drm/via/via_drv.h
+++ b/drivers/gpu/drm/via/via_drv.h
@@ -114,7 +114,7 @@ enum via_family {
114#define VIA_READ8(reg) DRM_READ8(VIA_BASE, reg) 114#define VIA_READ8(reg) DRM_READ8(VIA_BASE, reg)
115#define VIA_WRITE8(reg, val) DRM_WRITE8(VIA_BASE, reg, val) 115#define VIA_WRITE8(reg, val) DRM_WRITE8(VIA_BASE, reg, val)
116 116
117extern struct drm_ioctl_desc via_ioctls[]; 117extern const struct drm_ioctl_desc via_ioctls[];
118extern int via_max_ioctl; 118extern int via_max_ioctl;
119 119
120extern int via_fb_init(struct drm_device *dev, void *data, struct drm_file *file_priv); 120extern int via_fb_init(struct drm_device *dev, void *data, struct drm_file *file_priv);
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index 78e21649d48a..50861504b5d9 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -124,7 +124,7 @@
124 * Ioctl definitions. 124 * Ioctl definitions.
125 */ 125 */
126 126
127static struct drm_ioctl_desc vmw_ioctls[] = { 127static const struct drm_ioctl_desc vmw_ioctls[] = {
128 VMW_IOCTL_DEF(VMW_GET_PARAM, vmw_getparam_ioctl, 128 VMW_IOCTL_DEF(VMW_GET_PARAM, vmw_getparam_ioctl,
129 DRM_AUTH | DRM_UNLOCKED), 129 DRM_AUTH | DRM_UNLOCKED),
130 VMW_IOCTL_DEF(VMW_ALLOC_DMABUF, vmw_dmabuf_alloc_ioctl, 130 VMW_IOCTL_DEF(VMW_ALLOC_DMABUF, vmw_dmabuf_alloc_ioctl,
@@ -782,7 +782,7 @@ static long vmw_unlocked_ioctl(struct file *filp, unsigned int cmd,
782 782
783 if ((nr >= DRM_COMMAND_BASE) && (nr < DRM_COMMAND_END) 783 if ((nr >= DRM_COMMAND_BASE) && (nr < DRM_COMMAND_END)
784 && (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls)) { 784 && (nr < DRM_COMMAND_BASE + dev->driver->num_ioctls)) {
785 struct drm_ioctl_desc *ioctl = 785 const struct drm_ioctl_desc *ioctl =
786 &vmw_ioctls[nr - DRM_COMMAND_BASE]; 786 &vmw_ioctls[nr - DRM_COMMAND_BASE];
787 787
788 if (unlikely(ioctl->cmd_drv != cmd)) { 788 if (unlikely(ioctl->cmd_drv != cmd)) {
diff --git a/drivers/gpu/host1x/drm/drm.c b/drivers/gpu/host1x/drm/drm.c
index 87aa09bf7ba8..b128b90a94f6 100644
--- a/drivers/gpu/host1x/drm/drm.c
+++ b/drivers/gpu/host1x/drm/drm.c
@@ -487,7 +487,7 @@ static int tegra_submit(struct drm_device *drm, void *data,
487} 487}
488#endif 488#endif
489 489
490static struct drm_ioctl_desc tegra_drm_ioctls[] = { 490static const struct drm_ioctl_desc tegra_drm_ioctls[] = {
491#ifdef CONFIG_DRM_TEGRA_STAGING 491#ifdef CONFIG_DRM_TEGRA_STAGING
492 DRM_IOCTL_DEF_DRV(TEGRA_GEM_CREATE, tegra_gem_create, DRM_UNLOCKED | DRM_AUTH), 492 DRM_IOCTL_DEF_DRV(TEGRA_GEM_CREATE, tegra_gem_create, DRM_UNLOCKED | DRM_AUTH),
493 DRM_IOCTL_DEF_DRV(TEGRA_GEM_MMAP, tegra_gem_mmap, DRM_UNLOCKED), 493 DRM_IOCTL_DEF_DRV(TEGRA_GEM_MMAP, tegra_gem_mmap, DRM_UNLOCKED),
diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c
index a827858af944..a8900496b980 100644
--- a/drivers/staging/imx-drm/imx-drm-core.c
+++ b/drivers/staging/imx-drm/imx-drm-core.c
@@ -783,7 +783,7 @@ int imx_drm_remove_connector(struct imx_drm_connector *imx_drm_connector)
783} 783}
784EXPORT_SYMBOL_GPL(imx_drm_remove_connector); 784EXPORT_SYMBOL_GPL(imx_drm_remove_connector);
785 785
786static struct drm_ioctl_desc imx_drm_ioctls[] = { 786static const struct drm_ioctl_desc imx_drm_ioctls[] = {
787 /* none so far */ 787 /* none so far */
788}; 788};
789 789
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 3b7fda557b8d..1a4eba627e79 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -965,7 +965,7 @@ struct drm_driver {
965 965
966 u32 driver_features; 966 u32 driver_features;
967 int dev_priv_size; 967 int dev_priv_size;
968 struct drm_ioctl_desc *ioctls; 968 const struct drm_ioctl_desc *ioctls;
969 int num_ioctls; 969 int num_ioctls;
970 const struct file_operations *fops; 970 const struct file_operations *fops;
971 union { 971 union {