aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2015-11-11 12:11:29 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-11-24 05:47:38 -0500
commit1eb83451ba55d7a8c82b76b1591894ff2d4a95f2 (patch)
tree9e6d333c68f31bbba6ddada85e899adf1f47cf0f
parentcc344980c76748e57c9c03100c2a14d36ab00334 (diff)
drm: Pass the user drm_mode_fb_cmd2 as const to .fb_create()
Drivers shouldn't clobber the passed in addfb ioctl parameters. i915 was doing just that. To prevent it from happening again, pass the struct around as const, starting all the way from internal_framebuffer_create(). Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_display.c4
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h2
-rw-r--r--drivers/gpu/drm/armada/armada_fb.c4
-rw-r--r--drivers/gpu/drm/armada/armada_fb.h2
-rw-r--r--drivers/gpu/drm/ast/ast_drv.h2
-rw-r--r--drivers/gpu/drm/ast/ast_fb.c2
-rw-r--r--drivers/gpu/drm/ast/ast_main.c4
-rw-r--r--drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c2
-rw-r--r--drivers/gpu/drm/bochs/bochs.h2
-rw-r--r--drivers/gpu/drm/bochs/bochs_fbdev.c2
-rw-r--r--drivers/gpu/drm/bochs/bochs_mm.c4
-rw-r--r--drivers/gpu/drm/cirrus/cirrus_drv.h2
-rw-r--r--drivers/gpu/drm/cirrus/cirrus_fbdev.c2
-rw-r--r--drivers/gpu/drm/cirrus/cirrus_main.c4
-rw-r--r--drivers/gpu/drm/drm_crtc.c4
-rw-r--r--drivers/gpu/drm/drm_crtc_helper.c2
-rw-r--r--drivers/gpu/drm/drm_fb_cma_helper.c4
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fb.c4
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_fb.h2
-rw-r--r--drivers/gpu/drm/gma500/framebuffer.c6
-rw-r--r--drivers/gpu/drm/i915/intel_display.c2
-rw-r--r--drivers/gpu/drm/mgag200/mgag200_drv.h2
-rw-r--r--drivers/gpu/drm/mgag200/mgag200_fb.c2
-rw-r--r--drivers/gpu/drm/mgag200/mgag200_main.c4
-rw-r--r--drivers/gpu/drm/msm/msm_drv.h4
-rw-r--r--drivers/gpu/drm/msm/msm_fb.c4
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_display.c4
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_display.h2
-rw-r--r--drivers/gpu/drm/omapdrm/omap_drv.h6
-rw-r--r--drivers/gpu/drm/omapdrm/omap_fb.c4
-rw-r--r--drivers/gpu/drm/qxl/qxl_display.c4
-rw-r--r--drivers/gpu/drm/qxl/qxl_drv.h2
-rw-r--r--drivers/gpu/drm/qxl/qxl_fb.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_display.c4
-rw-r--r--drivers/gpu/drm/radeon/radeon_mode.h2
-rw-r--r--drivers/gpu/drm/rcar-du/rcar_du_kms.c2
-rw-r--r--drivers/gpu/drm/rockchip/rockchip_drm_fb.c6
-rw-r--r--drivers/gpu/drm/rockchip/rockchip_drm_fb.h2
-rw-r--r--drivers/gpu/drm/shmobile/shmob_drm_kms.c2
-rw-r--r--drivers/gpu/drm/tegra/drm.h2
-rw-r--r--drivers/gpu/drm/tegra/fb.c4
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_drv.c2
-rw-r--r--drivers/gpu/drm/udl/udl_drv.h2
-rw-r--r--drivers/gpu/drm/udl/udl_fb.c4
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_display.c4
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_drv.h2
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_kms.c2
-rw-r--r--include/drm/drm_crtc.h2
-rw-r--r--include/drm/drm_crtc_helper.h2
-rw-r--r--include/drm/drm_fb_cma_helper.h2
50 files changed, 74 insertions, 74 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index e173a5a02f0d..7d5e0583c95c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -481,7 +481,7 @@ static const struct drm_framebuffer_funcs amdgpu_fb_funcs = {
481int 481int
482amdgpu_framebuffer_init(struct drm_device *dev, 482amdgpu_framebuffer_init(struct drm_device *dev,
483 struct amdgpu_framebuffer *rfb, 483 struct amdgpu_framebuffer *rfb,
484 struct drm_mode_fb_cmd2 *mode_cmd, 484 const struct drm_mode_fb_cmd2 *mode_cmd,
485 struct drm_gem_object *obj) 485 struct drm_gem_object *obj)
486{ 486{
487 int ret; 487 int ret;
@@ -498,7 +498,7 @@ amdgpu_framebuffer_init(struct drm_device *dev,
498static struct drm_framebuffer * 498static struct drm_framebuffer *
499amdgpu_user_framebuffer_create(struct drm_device *dev, 499amdgpu_user_framebuffer_create(struct drm_device *dev,
500 struct drm_file *file_priv, 500 struct drm_file *file_priv,
501 struct drm_mode_fb_cmd2 *mode_cmd) 501 const struct drm_mode_fb_cmd2 *mode_cmd)
502{ 502{
503 struct drm_gem_object *obj; 503 struct drm_gem_object *obj;
504 struct amdgpu_framebuffer *amdgpu_fb; 504 struct amdgpu_framebuffer *amdgpu_fb;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
index b62c1710cab6..de4529969778 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
@@ -551,7 +551,7 @@ int amdgpu_get_crtc_scanoutpos(struct drm_device *dev, unsigned int pipe,
551 551
552int amdgpu_framebuffer_init(struct drm_device *dev, 552int amdgpu_framebuffer_init(struct drm_device *dev,
553 struct amdgpu_framebuffer *rfb, 553 struct amdgpu_framebuffer *rfb,
554 struct drm_mode_fb_cmd2 *mode_cmd, 554 const struct drm_mode_fb_cmd2 *mode_cmd,
555 struct drm_gem_object *obj); 555 struct drm_gem_object *obj);
556 556
557int amdgpufb_remove(struct drm_device *dev, struct drm_framebuffer *fb); 557int amdgpufb_remove(struct drm_device *dev, struct drm_framebuffer *fb);
diff --git a/drivers/gpu/drm/armada/armada_fb.c b/drivers/gpu/drm/armada/armada_fb.c
index 1c90969def3e..5fa4bf20b232 100644
--- a/drivers/gpu/drm/armada/armada_fb.c
+++ b/drivers/gpu/drm/armada/armada_fb.c
@@ -35,7 +35,7 @@ static const struct drm_framebuffer_funcs armada_fb_funcs = {
35}; 35};
36 36
37struct armada_framebuffer *armada_framebuffer_create(struct drm_device *dev, 37struct armada_framebuffer *armada_framebuffer_create(struct drm_device *dev,
38 struct drm_mode_fb_cmd2 *mode, struct armada_gem_object *obj) 38 const struct drm_mode_fb_cmd2 *mode, struct armada_gem_object *obj)
39{ 39{
40 struct armada_framebuffer *dfb; 40 struct armada_framebuffer *dfb;
41 uint8_t format, config; 41 uint8_t format, config;
@@ -101,7 +101,7 @@ struct armada_framebuffer *armada_framebuffer_create(struct drm_device *dev,
101} 101}
102 102
103static struct drm_framebuffer *armada_fb_create(struct drm_device *dev, 103static struct drm_framebuffer *armada_fb_create(struct drm_device *dev,
104 struct drm_file *dfile, struct drm_mode_fb_cmd2 *mode) 104 struct drm_file *dfile, const struct drm_mode_fb_cmd2 *mode)
105{ 105{
106 struct armada_gem_object *obj; 106 struct armada_gem_object *obj;
107 struct armada_framebuffer *dfb; 107 struct armada_framebuffer *dfb;
diff --git a/drivers/gpu/drm/armada/armada_fb.h b/drivers/gpu/drm/armada/armada_fb.h
index ce3f12ebfc53..48073c4f54d8 100644
--- a/drivers/gpu/drm/armada/armada_fb.h
+++ b/drivers/gpu/drm/armada/armada_fb.h
@@ -19,6 +19,6 @@ struct armada_framebuffer {
19#define drm_fb_obj(fb) drm_fb_to_armada_fb(fb)->obj 19#define drm_fb_obj(fb) drm_fb_to_armada_fb(fb)->obj
20 20
21struct armada_framebuffer *armada_framebuffer_create(struct drm_device *, 21struct armada_framebuffer *armada_framebuffer_create(struct drm_device *,
22 struct drm_mode_fb_cmd2 *, struct armada_gem_object *); 22 const struct drm_mode_fb_cmd2 *, struct armada_gem_object *);
23 23
24#endif 24#endif
diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
index 2e931eeba105..eb5715994ac2 100644
--- a/drivers/gpu/drm/ast/ast_drv.h
+++ b/drivers/gpu/drm/ast/ast_drv.h
@@ -308,7 +308,7 @@ extern void ast_mode_fini(struct drm_device *dev);
308 308
309int ast_framebuffer_init(struct drm_device *dev, 309int ast_framebuffer_init(struct drm_device *dev,
310 struct ast_framebuffer *ast_fb, 310 struct ast_framebuffer *ast_fb,
311 struct drm_mode_fb_cmd2 *mode_cmd, 311 const struct drm_mode_fb_cmd2 *mode_cmd,
312 struct drm_gem_object *obj); 312 struct drm_gem_object *obj);
313 313
314int ast_fbdev_init(struct drm_device *dev); 314int ast_fbdev_init(struct drm_device *dev);
diff --git a/drivers/gpu/drm/ast/ast_fb.c b/drivers/gpu/drm/ast/ast_fb.c
index a37e7ea4a00c..5320f8c57884 100644
--- a/drivers/gpu/drm/ast/ast_fb.c
+++ b/drivers/gpu/drm/ast/ast_fb.c
@@ -163,7 +163,7 @@ static struct fb_ops astfb_ops = {
163}; 163};
164 164
165static int astfb_create_object(struct ast_fbdev *afbdev, 165static int astfb_create_object(struct ast_fbdev *afbdev,
166 struct drm_mode_fb_cmd2 *mode_cmd, 166 const struct drm_mode_fb_cmd2 *mode_cmd,
167 struct drm_gem_object **gobj_p) 167 struct drm_gem_object **gobj_p)
168{ 168{
169 struct drm_device *dev = afbdev->helper.dev; 169 struct drm_device *dev = afbdev->helper.dev;
diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
index 541a610667ad..9759009d1da3 100644
--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -309,7 +309,7 @@ static const struct drm_framebuffer_funcs ast_fb_funcs = {
309 309
310int ast_framebuffer_init(struct drm_device *dev, 310int ast_framebuffer_init(struct drm_device *dev,
311 struct ast_framebuffer *ast_fb, 311 struct ast_framebuffer *ast_fb,
312 struct drm_mode_fb_cmd2 *mode_cmd, 312 const struct drm_mode_fb_cmd2 *mode_cmd,
313 struct drm_gem_object *obj) 313 struct drm_gem_object *obj)
314{ 314{
315 int ret; 315 int ret;
@@ -327,7 +327,7 @@ int ast_framebuffer_init(struct drm_device *dev,
327static struct drm_framebuffer * 327static struct drm_framebuffer *
328ast_user_framebuffer_create(struct drm_device *dev, 328ast_user_framebuffer_create(struct drm_device *dev,
329 struct drm_file *filp, 329 struct drm_file *filp,
330 struct drm_mode_fb_cmd2 *mode_cmd) 330 const struct drm_mode_fb_cmd2 *mode_cmd)
331{ 331{
332 struct drm_gem_object *obj; 332 struct drm_gem_object *obj;
333 struct ast_framebuffer *ast_fb; 333 struct ast_framebuffer *ast_fb;
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
index 244df0a440b7..816895447155 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
@@ -402,7 +402,7 @@ static irqreturn_t atmel_hlcdc_dc_irq_handler(int irq, void *data)
402} 402}
403 403
404static struct drm_framebuffer *atmel_hlcdc_fb_create(struct drm_device *dev, 404static struct drm_framebuffer *atmel_hlcdc_fb_create(struct drm_device *dev,
405 struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd) 405 struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd)
406{ 406{
407 return drm_fb_cma_create(dev, file_priv, mode_cmd); 407 return drm_fb_cma_create(dev, file_priv, mode_cmd);
408} 408}
diff --git a/drivers/gpu/drm/bochs/bochs.h b/drivers/gpu/drm/bochs/bochs.h
index 71f2687fc3cc..19b5adaebe24 100644
--- a/drivers/gpu/drm/bochs/bochs.h
+++ b/drivers/gpu/drm/bochs/bochs.h
@@ -149,7 +149,7 @@ int bochs_dumb_mmap_offset(struct drm_file *file, struct drm_device *dev,
149 149
150int bochs_framebuffer_init(struct drm_device *dev, 150int bochs_framebuffer_init(struct drm_device *dev,
151 struct bochs_framebuffer *gfb, 151 struct bochs_framebuffer *gfb,
152 struct drm_mode_fb_cmd2 *mode_cmd, 152 const struct drm_mode_fb_cmd2 *mode_cmd,
153 struct drm_gem_object *obj); 153 struct drm_gem_object *obj);
154int bochs_bo_pin(struct bochs_bo *bo, u32 pl_flag, u64 *gpu_addr); 154int bochs_bo_pin(struct bochs_bo *bo, u32 pl_flag, u64 *gpu_addr);
155int bochs_bo_unpin(struct bochs_bo *bo); 155int bochs_bo_unpin(struct bochs_bo *bo);
diff --git a/drivers/gpu/drm/bochs/bochs_fbdev.c b/drivers/gpu/drm/bochs/bochs_fbdev.c
index 09a0637aab3e..7520bf81fc25 100644
--- a/drivers/gpu/drm/bochs/bochs_fbdev.c
+++ b/drivers/gpu/drm/bochs/bochs_fbdev.c
@@ -34,7 +34,7 @@ static struct fb_ops bochsfb_ops = {
34}; 34};
35 35
36static int bochsfb_create_object(struct bochs_device *bochs, 36static int bochsfb_create_object(struct bochs_device *bochs,
37 struct drm_mode_fb_cmd2 *mode_cmd, 37 const struct drm_mode_fb_cmd2 *mode_cmd,
38 struct drm_gem_object **gobj_p) 38 struct drm_gem_object **gobj_p)
39{ 39{
40 struct drm_device *dev = bochs->dev; 40 struct drm_device *dev = bochs->dev;
diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
index f69e6bf9bb0e..d812ad014da5 100644
--- a/drivers/gpu/drm/bochs/bochs_mm.c
+++ b/drivers/gpu/drm/bochs/bochs_mm.c
@@ -484,7 +484,7 @@ static const struct drm_framebuffer_funcs bochs_fb_funcs = {
484 484
485int bochs_framebuffer_init(struct drm_device *dev, 485int bochs_framebuffer_init(struct drm_device *dev,
486 struct bochs_framebuffer *gfb, 486 struct bochs_framebuffer *gfb,
487 struct drm_mode_fb_cmd2 *mode_cmd, 487 const struct drm_mode_fb_cmd2 *mode_cmd,
488 struct drm_gem_object *obj) 488 struct drm_gem_object *obj)
489{ 489{
490 int ret; 490 int ret;
@@ -502,7 +502,7 @@ int bochs_framebuffer_init(struct drm_device *dev,
502static struct drm_framebuffer * 502static struct drm_framebuffer *
503bochs_user_framebuffer_create(struct drm_device *dev, 503bochs_user_framebuffer_create(struct drm_device *dev,
504 struct drm_file *filp, 504 struct drm_file *filp,
505 struct drm_mode_fb_cmd2 *mode_cmd) 505 const struct drm_mode_fb_cmd2 *mode_cmd)
506{ 506{
507 struct drm_gem_object *obj; 507 struct drm_gem_object *obj;
508 struct bochs_framebuffer *bochs_fb; 508 struct bochs_framebuffer *bochs_fb;
diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.h b/drivers/gpu/drm/cirrus/cirrus_drv.h
index d772f7afafeb..b774d637a00f 100644
--- a/drivers/gpu/drm/cirrus/cirrus_drv.h
+++ b/drivers/gpu/drm/cirrus/cirrus_drv.h
@@ -206,7 +206,7 @@ int cirrus_dumb_create(struct drm_file *file,
206 206
207int cirrus_framebuffer_init(struct drm_device *dev, 207int cirrus_framebuffer_init(struct drm_device *dev,
208 struct cirrus_framebuffer *gfb, 208 struct cirrus_framebuffer *gfb,
209 struct drm_mode_fb_cmd2 *mode_cmd, 209 const struct drm_mode_fb_cmd2 *mode_cmd,
210 struct drm_gem_object *obj); 210 struct drm_gem_object *obj);
211 211
212bool cirrus_check_framebuffer(struct cirrus_device *cdev, int width, int height, 212bool cirrus_check_framebuffer(struct cirrus_device *cdev, int width, int height,
diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
index 589103bcc06c..3b5be7272357 100644
--- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
+++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
@@ -135,7 +135,7 @@ static struct fb_ops cirrusfb_ops = {
135}; 135};
136 136
137static int cirrusfb_create_object(struct cirrus_fbdev *afbdev, 137static int cirrusfb_create_object(struct cirrus_fbdev *afbdev,
138 struct drm_mode_fb_cmd2 *mode_cmd, 138 const struct drm_mode_fb_cmd2 *mode_cmd,
139 struct drm_gem_object **gobj_p) 139 struct drm_gem_object **gobj_p)
140{ 140{
141 struct drm_device *dev = afbdev->helper.dev; 141 struct drm_device *dev = afbdev->helper.dev;
diff --git a/drivers/gpu/drm/cirrus/cirrus_main.c b/drivers/gpu/drm/cirrus/cirrus_main.c
index 055fd86ba717..0907715e90fd 100644
--- a/drivers/gpu/drm/cirrus/cirrus_main.c
+++ b/drivers/gpu/drm/cirrus/cirrus_main.c
@@ -29,7 +29,7 @@ static const struct drm_framebuffer_funcs cirrus_fb_funcs = {
29 29
30int cirrus_framebuffer_init(struct drm_device *dev, 30int cirrus_framebuffer_init(struct drm_device *dev,
31 struct cirrus_framebuffer *gfb, 31 struct cirrus_framebuffer *gfb,
32 struct drm_mode_fb_cmd2 *mode_cmd, 32 const struct drm_mode_fb_cmd2 *mode_cmd,
33 struct drm_gem_object *obj) 33 struct drm_gem_object *obj)
34{ 34{
35 int ret; 35 int ret;
@@ -47,7 +47,7 @@ int cirrus_framebuffer_init(struct drm_device *dev,
47static struct drm_framebuffer * 47static struct drm_framebuffer *
48cirrus_user_framebuffer_create(struct drm_device *dev, 48cirrus_user_framebuffer_create(struct drm_device *dev,
49 struct drm_file *filp, 49 struct drm_file *filp,
50 struct drm_mode_fb_cmd2 *mode_cmd) 50 const struct drm_mode_fb_cmd2 *mode_cmd)
51{ 51{
52 struct cirrus_device *cdev = dev->dev_private; 52 struct cirrus_device *cdev = dev->dev_private;
53 struct drm_gem_object *obj; 53 struct drm_gem_object *obj;
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 24c5434abd1c..32dd134700bd 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -45,7 +45,7 @@
45 45
46static struct drm_framebuffer * 46static struct drm_framebuffer *
47internal_framebuffer_create(struct drm_device *dev, 47internal_framebuffer_create(struct drm_device *dev,
48 struct drm_mode_fb_cmd2 *r, 48 const struct drm_mode_fb_cmd2 *r,
49 struct drm_file *file_priv); 49 struct drm_file *file_priv);
50 50
51/* Avoid boilerplate. I'm tired of typing. */ 51/* Avoid boilerplate. I'm tired of typing. */
@@ -3235,7 +3235,7 @@ static int framebuffer_check(const struct drm_mode_fb_cmd2 *r)
3235 3235
3236static struct drm_framebuffer * 3236static struct drm_framebuffer *
3237internal_framebuffer_create(struct drm_device *dev, 3237internal_framebuffer_create(struct drm_device *dev,
3238 struct drm_mode_fb_cmd2 *r, 3238 const struct drm_mode_fb_cmd2 *r,
3239 struct drm_file *file_priv) 3239 struct drm_file *file_priv)
3240{ 3240{
3241 struct drm_mode_config *config = &dev->mode_config; 3241 struct drm_mode_config *config = &dev->mode_config;
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
index ef534758a02c..6b4cf25fed12 100644
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -818,7 +818,7 @@ EXPORT_SYMBOL(drm_helper_connector_dpms);
818 * metadata fields. 818 * metadata fields.
819 */ 819 */
820void drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb, 820void drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
821 struct drm_mode_fb_cmd2 *mode_cmd) 821 const struct drm_mode_fb_cmd2 *mode_cmd)
822{ 822{
823 int i; 823 int i;
824 824
diff --git a/drivers/gpu/drm/drm_fb_cma_helper.c b/drivers/gpu/drm/drm_fb_cma_helper.c
index c19a62561183..b7d5b848d2f8 100644
--- a/drivers/gpu/drm/drm_fb_cma_helper.c
+++ b/drivers/gpu/drm/drm_fb_cma_helper.c
@@ -74,7 +74,7 @@ static struct drm_framebuffer_funcs drm_fb_cma_funcs = {
74}; 74};
75 75
76static struct drm_fb_cma *drm_fb_cma_alloc(struct drm_device *dev, 76static struct drm_fb_cma *drm_fb_cma_alloc(struct drm_device *dev,
77 struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_cma_object **obj, 77 const const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_cma_object **obj,
78 unsigned int num_planes) 78 unsigned int num_planes)
79{ 79{
80 struct drm_fb_cma *fb_cma; 80 struct drm_fb_cma *fb_cma;
@@ -107,7 +107,7 @@ static struct drm_fb_cma *drm_fb_cma_alloc(struct drm_device *dev,
107 * checked before calling this function. 107 * checked before calling this function.
108 */ 108 */
109struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev, 109struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev,
110 struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd) 110 struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd)
111{ 111{
112 struct drm_fb_cma *fb_cma; 112 struct drm_fb_cma *fb_cma;
113 struct drm_gem_cma_object *objs[4]; 113 struct drm_gem_cma_object *objs[4];
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.c b/drivers/gpu/drm/exynos/exynos_drm_fb.c
index fcea28bdbc42..49b9bc302e87 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fb.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fb.c
@@ -117,7 +117,7 @@ static struct drm_framebuffer_funcs exynos_drm_fb_funcs = {
117 117
118struct drm_framebuffer * 118struct drm_framebuffer *
119exynos_drm_framebuffer_init(struct drm_device *dev, 119exynos_drm_framebuffer_init(struct drm_device *dev,
120 struct drm_mode_fb_cmd2 *mode_cmd, 120 const struct drm_mode_fb_cmd2 *mode_cmd,
121 struct exynos_drm_gem **exynos_gem, 121 struct exynos_drm_gem **exynos_gem,
122 int count) 122 int count)
123{ 123{
@@ -154,7 +154,7 @@ err:
154 154
155static struct drm_framebuffer * 155static struct drm_framebuffer *
156exynos_user_fb_create(struct drm_device *dev, struct drm_file *file_priv, 156exynos_user_fb_create(struct drm_device *dev, struct drm_file *file_priv,
157 struct drm_mode_fb_cmd2 *mode_cmd) 157 const struct drm_mode_fb_cmd2 *mode_cmd)
158{ 158{
159 struct exynos_drm_gem *exynos_gem[MAX_FB_BUFFER]; 159 struct exynos_drm_gem *exynos_gem[MAX_FB_BUFFER];
160 struct drm_gem_object *obj; 160 struct drm_gem_object *obj;
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.h b/drivers/gpu/drm/exynos/exynos_drm_fb.h
index 726a2d44371f..a8a75ac87e59 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fb.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_fb.h
@@ -18,7 +18,7 @@
18 18
19struct drm_framebuffer * 19struct drm_framebuffer *
20exynos_drm_framebuffer_init(struct drm_device *dev, 20exynos_drm_framebuffer_init(struct drm_device *dev,
21 struct drm_mode_fb_cmd2 *mode_cmd, 21 const struct drm_mode_fb_cmd2 *mode_cmd,
22 struct exynos_drm_gem **exynos_gem, 22 struct exynos_drm_gem **exynos_gem,
23 int count); 23 int count);
24 24
diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c
index 2eaf1b31c7bd..dc0508dca1d4 100644
--- a/drivers/gpu/drm/gma500/framebuffer.c
+++ b/drivers/gpu/drm/gma500/framebuffer.c
@@ -241,7 +241,7 @@ static struct fb_ops psbfb_unaccel_ops = {
241 */ 241 */
242static int psb_framebuffer_init(struct drm_device *dev, 242static int psb_framebuffer_init(struct drm_device *dev,
243 struct psb_framebuffer *fb, 243 struct psb_framebuffer *fb,
244 struct drm_mode_fb_cmd2 *mode_cmd, 244 const struct drm_mode_fb_cmd2 *mode_cmd,
245 struct gtt_range *gt) 245 struct gtt_range *gt)
246{ 246{
247 u32 bpp, depth; 247 u32 bpp, depth;
@@ -284,7 +284,7 @@ static int psb_framebuffer_init(struct drm_device *dev,
284 284
285static struct drm_framebuffer *psb_framebuffer_create 285static struct drm_framebuffer *psb_framebuffer_create
286 (struct drm_device *dev, 286 (struct drm_device *dev,
287 struct drm_mode_fb_cmd2 *mode_cmd, 287 const struct drm_mode_fb_cmd2 *mode_cmd,
288 struct gtt_range *gt) 288 struct gtt_range *gt)
289{ 289{
290 struct psb_framebuffer *fb; 290 struct psb_framebuffer *fb;
@@ -488,7 +488,7 @@ out_err1:
488 */ 488 */
489static struct drm_framebuffer *psb_user_framebuffer_create 489static struct drm_framebuffer *psb_user_framebuffer_create
490 (struct drm_device *dev, struct drm_file *filp, 490 (struct drm_device *dev, struct drm_file *filp,
491 struct drm_mode_fb_cmd2 *cmd) 491 const struct drm_mode_fb_cmd2 *cmd)
492{ 492{
493 struct gtt_range *r; 493 struct gtt_range *r;
494 struct drm_gem_object *obj; 494 struct drm_gem_object *obj;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 71860f8680f9..9f02a099872f 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -14377,7 +14377,7 @@ static int intel_framebuffer_init(struct drm_device *dev,
14377static struct drm_framebuffer * 14377static struct drm_framebuffer *
14378intel_user_framebuffer_create(struct drm_device *dev, 14378intel_user_framebuffer_create(struct drm_device *dev,
14379 struct drm_file *filp, 14379 struct drm_file *filp,
14380 struct drm_mode_fb_cmd2 *user_mode_cmd) 14380 const struct drm_mode_fb_cmd2 *user_mode_cmd)
14381{ 14381{
14382 struct drm_i915_gem_object *obj; 14382 struct drm_i915_gem_object *obj;
14383 struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd; 14383 struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd;
diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.h b/drivers/gpu/drm/mgag200/mgag200_drv.h
index 912151c36d59..205b2801d3b8 100644
--- a/drivers/gpu/drm/mgag200/mgag200_drv.h
+++ b/drivers/gpu/drm/mgag200/mgag200_drv.h
@@ -252,7 +252,7 @@ void mgag200_fbdev_fini(struct mga_device *mdev);
252 /* mgag200_main.c */ 252 /* mgag200_main.c */
253int mgag200_framebuffer_init(struct drm_device *dev, 253int mgag200_framebuffer_init(struct drm_device *dev,
254 struct mga_framebuffer *mfb, 254 struct mga_framebuffer *mfb,
255 struct drm_mode_fb_cmd2 *mode_cmd, 255 const struct drm_mode_fb_cmd2 *mode_cmd,
256 struct drm_gem_object *obj); 256 struct drm_gem_object *obj);
257 257
258 258
diff --git a/drivers/gpu/drm/mgag200/mgag200_fb.c b/drivers/gpu/drm/mgag200/mgag200_fb.c
index b35b5b2db4ec..d9b04b008feb 100644
--- a/drivers/gpu/drm/mgag200/mgag200_fb.c
+++ b/drivers/gpu/drm/mgag200/mgag200_fb.c
@@ -138,7 +138,7 @@ static struct fb_ops mgag200fb_ops = {
138}; 138};
139 139
140static int mgag200fb_create_object(struct mga_fbdev *afbdev, 140static int mgag200fb_create_object(struct mga_fbdev *afbdev,
141 struct drm_mode_fb_cmd2 *mode_cmd, 141 const struct drm_mode_fb_cmd2 *mode_cmd,
142 struct drm_gem_object **gobj_p) 142 struct drm_gem_object **gobj_p)
143{ 143{
144 struct drm_device *dev = afbdev->helper.dev; 144 struct drm_device *dev = afbdev->helper.dev;
diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c
index b1a0f5656175..9147444d5bf2 100644
--- a/drivers/gpu/drm/mgag200/mgag200_main.c
+++ b/drivers/gpu/drm/mgag200/mgag200_main.c
@@ -29,7 +29,7 @@ static const struct drm_framebuffer_funcs mga_fb_funcs = {
29 29
30int mgag200_framebuffer_init(struct drm_device *dev, 30int mgag200_framebuffer_init(struct drm_device *dev,
31 struct mga_framebuffer *gfb, 31 struct mga_framebuffer *gfb,
32 struct drm_mode_fb_cmd2 *mode_cmd, 32 const struct drm_mode_fb_cmd2 *mode_cmd,
33 struct drm_gem_object *obj) 33 struct drm_gem_object *obj)
34{ 34{
35 int ret; 35 int ret;
@@ -47,7 +47,7 @@ int mgag200_framebuffer_init(struct drm_device *dev,
47static struct drm_framebuffer * 47static struct drm_framebuffer *
48mgag200_user_framebuffer_create(struct drm_device *dev, 48mgag200_user_framebuffer_create(struct drm_device *dev,
49 struct drm_file *filp, 49 struct drm_file *filp,
50 struct drm_mode_fb_cmd2 *mode_cmd) 50 const struct drm_mode_fb_cmd2 *mode_cmd)
51{ 51{
52 struct drm_gem_object *obj; 52 struct drm_gem_object *obj;
53 struct mga_framebuffer *mga_fb; 53 struct mga_framebuffer *mga_fb;
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
index 3be7a56b14f1..9a713b7a009d 100644
--- a/drivers/gpu/drm/msm/msm_drv.h
+++ b/drivers/gpu/drm/msm/msm_drv.h
@@ -240,9 +240,9 @@ uint32_t msm_framebuffer_iova(struct drm_framebuffer *fb, int id, int plane);
240struct drm_gem_object *msm_framebuffer_bo(struct drm_framebuffer *fb, int plane); 240struct drm_gem_object *msm_framebuffer_bo(struct drm_framebuffer *fb, int plane);
241const struct msm_format *msm_framebuffer_format(struct drm_framebuffer *fb); 241const struct msm_format *msm_framebuffer_format(struct drm_framebuffer *fb);
242struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev, 242struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
243 struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos); 243 const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos);
244struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev, 244struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev,
245 struct drm_file *file, struct drm_mode_fb_cmd2 *mode_cmd); 245 struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
246 246
247struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev); 247struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev);
248 248
diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c
index 121713281417..a474d6cf5d9f 100644
--- a/drivers/gpu/drm/msm/msm_fb.c
+++ b/drivers/gpu/drm/msm/msm_fb.c
@@ -138,7 +138,7 @@ const struct msm_format *msm_framebuffer_format(struct drm_framebuffer *fb)
138} 138}
139 139
140struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev, 140struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev,
141 struct drm_file *file, struct drm_mode_fb_cmd2 *mode_cmd) 141 struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd)
142{ 142{
143 struct drm_gem_object *bos[4] = {0}; 143 struct drm_gem_object *bos[4] = {0};
144 struct drm_framebuffer *fb; 144 struct drm_framebuffer *fb;
@@ -168,7 +168,7 @@ out_unref:
168} 168}
169 169
170struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev, 170struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
171 struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos) 171 const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos)
172{ 172{
173 struct msm_drm_private *priv = dev->dev_private; 173 struct msm_drm_private *priv = dev->dev_private;
174 struct msm_kms *kms = priv->kms; 174 struct msm_kms *kms = priv->kms;
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
index db6bc6760545..ea9d3bc91266 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -246,7 +246,7 @@ static const struct drm_framebuffer_funcs nouveau_framebuffer_funcs = {
246int 246int
247nouveau_framebuffer_init(struct drm_device *dev, 247nouveau_framebuffer_init(struct drm_device *dev,
248 struct nouveau_framebuffer *nv_fb, 248 struct nouveau_framebuffer *nv_fb,
249 struct drm_mode_fb_cmd2 *mode_cmd, 249 const struct drm_mode_fb_cmd2 *mode_cmd,
250 struct nouveau_bo *nvbo) 250 struct nouveau_bo *nvbo)
251{ 251{
252 struct nouveau_display *disp = nouveau_display(dev); 252 struct nouveau_display *disp = nouveau_display(dev);
@@ -272,7 +272,7 @@ nouveau_framebuffer_init(struct drm_device *dev,
272static struct drm_framebuffer * 272static struct drm_framebuffer *
273nouveau_user_framebuffer_create(struct drm_device *dev, 273nouveau_user_framebuffer_create(struct drm_device *dev,
274 struct drm_file *file_priv, 274 struct drm_file *file_priv,
275 struct drm_mode_fb_cmd2 *mode_cmd) 275 const struct drm_mode_fb_cmd2 *mode_cmd)
276{ 276{
277 struct nouveau_framebuffer *nouveau_fb; 277 struct nouveau_framebuffer *nouveau_fb;
278 struct drm_gem_object *gem; 278 struct drm_gem_object *gem;
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.h b/drivers/gpu/drm/nouveau/nouveau_display.h
index 856abe0f070d..5a57d8b472c4 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.h
+++ b/drivers/gpu/drm/nouveau/nouveau_display.h
@@ -23,7 +23,7 @@ nouveau_framebuffer(struct drm_framebuffer *fb)
23} 23}
24 24
25int nouveau_framebuffer_init(struct drm_device *, struct nouveau_framebuffer *, 25int nouveau_framebuffer_init(struct drm_device *, struct nouveau_framebuffer *,
26 struct drm_mode_fb_cmd2 *, struct nouveau_bo *); 26 const struct drm_mode_fb_cmd2 *, struct nouveau_bo *);
27 27
28struct nouveau_page_flip_state { 28struct nouveau_page_flip_state {
29 struct list_head head; 29 struct list_head head;
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h b/drivers/gpu/drm/omapdrm/omap_drv.h
index 5c367aad8a6e..130fca70bfd7 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.h
+++ b/drivers/gpu/drm/omapdrm/omap_drv.h
@@ -172,9 +172,9 @@ void copy_timings_drm_to_omap(struct omap_video_timings *timings,
172uint32_t omap_framebuffer_get_formats(uint32_t *pixel_formats, 172uint32_t omap_framebuffer_get_formats(uint32_t *pixel_formats,
173 uint32_t max_formats, enum omap_color_mode supported_modes); 173 uint32_t max_formats, enum omap_color_mode supported_modes);
174struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev, 174struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev,
175 struct drm_file *file, struct drm_mode_fb_cmd2 *mode_cmd); 175 struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
176struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev, 176struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev,
177 struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos); 177 const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos);
178struct drm_gem_object *omap_framebuffer_bo(struct drm_framebuffer *fb, int p); 178struct drm_gem_object *omap_framebuffer_bo(struct drm_framebuffer *fb, int p);
179int omap_framebuffer_pin(struct drm_framebuffer *fb); 179int omap_framebuffer_pin(struct drm_framebuffer *fb);
180void omap_framebuffer_unpin(struct drm_framebuffer *fb); 180void omap_framebuffer_unpin(struct drm_framebuffer *fb);
@@ -248,7 +248,7 @@ struct omap_dss_device *omap_encoder_get_dssdev(struct drm_encoder *encoder);
248 248
249static inline int objects_lookup(struct drm_device *dev, 249static inline int objects_lookup(struct drm_device *dev,
250 struct drm_file *filp, uint32_t pixel_format, 250 struct drm_file *filp, uint32_t pixel_format,
251 struct drm_gem_object **bos, uint32_t *handles) 251 struct drm_gem_object **bos, const uint32_t *handles)
252{ 252{
253 int i, n = drm_format_num_planes(pixel_format); 253 int i, n = drm_format_num_planes(pixel_format);
254 254
diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c b/drivers/gpu/drm/omapdrm/omap_fb.c
index 636a1f921569..ad202dfc1a49 100644
--- a/drivers/gpu/drm/omapdrm/omap_fb.c
+++ b/drivers/gpu/drm/omapdrm/omap_fb.c
@@ -364,7 +364,7 @@ void omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m)
364#endif 364#endif
365 365
366struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev, 366struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev,
367 struct drm_file *file, struct drm_mode_fb_cmd2 *mode_cmd) 367 struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd)
368{ 368{
369 struct drm_gem_object *bos[4]; 369 struct drm_gem_object *bos[4];
370 struct drm_framebuffer *fb; 370 struct drm_framebuffer *fb;
@@ -386,7 +386,7 @@ struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev,
386} 386}
387 387
388struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev, 388struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev,
389 struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos) 389 const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos)
390{ 390{
391 struct omap_framebuffer *omap_fb = NULL; 391 struct omap_framebuffer *omap_fb = NULL;
392 struct drm_framebuffer *fb = NULL; 392 struct drm_framebuffer *fb = NULL;
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
index 183aea1abebc..cddba079197f 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -521,7 +521,7 @@ static const struct drm_framebuffer_funcs qxl_fb_funcs = {
521int 521int
522qxl_framebuffer_init(struct drm_device *dev, 522qxl_framebuffer_init(struct drm_device *dev,
523 struct qxl_framebuffer *qfb, 523 struct qxl_framebuffer *qfb,
524 struct drm_mode_fb_cmd2 *mode_cmd, 524 const struct drm_mode_fb_cmd2 *mode_cmd,
525 struct drm_gem_object *obj) 525 struct drm_gem_object *obj)
526{ 526{
527 int ret; 527 int ret;
@@ -1003,7 +1003,7 @@ static int qdev_output_init(struct drm_device *dev, int num_output)
1003static struct drm_framebuffer * 1003static struct drm_framebuffer *
1004qxl_user_framebuffer_create(struct drm_device *dev, 1004qxl_user_framebuffer_create(struct drm_device *dev,
1005 struct drm_file *file_priv, 1005 struct drm_file *file_priv,
1006 struct drm_mode_fb_cmd2 *mode_cmd) 1006 const struct drm_mode_fb_cmd2 *mode_cmd)
1007{ 1007{
1008 struct drm_gem_object *obj; 1008 struct drm_gem_object *obj;
1009 struct qxl_framebuffer *qxl_fb; 1009 struct qxl_framebuffer *qxl_fb;
diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
index 01a86948eb8c..6e6b9b1519b8 100644
--- a/drivers/gpu/drm/qxl/qxl_drv.h
+++ b/drivers/gpu/drm/qxl/qxl_drv.h
@@ -390,7 +390,7 @@ void qxl_fbdev_set_suspend(struct qxl_device *qdev, int state);
390int 390int
391qxl_framebuffer_init(struct drm_device *dev, 391qxl_framebuffer_init(struct drm_device *dev,
392 struct qxl_framebuffer *rfb, 392 struct qxl_framebuffer *rfb,
393 struct drm_mode_fb_cmd2 *mode_cmd, 393 const struct drm_mode_fb_cmd2 *mode_cmd,
394 struct drm_gem_object *obj); 394 struct drm_gem_object *obj);
395void qxl_display_read_client_monitors_config(struct qxl_device *qdev); 395void qxl_display_read_client_monitors_config(struct qxl_device *qdev);
396void qxl_send_monitors_config(struct qxl_device *qdev); 396void qxl_send_monitors_config(struct qxl_device *qdev);
diff --git a/drivers/gpu/drm/qxl/qxl_fb.c b/drivers/gpu/drm/qxl/qxl_fb.c
index a97d16792bed..7136e521e6db 100644
--- a/drivers/gpu/drm/qxl/qxl_fb.c
+++ b/drivers/gpu/drm/qxl/qxl_fb.c
@@ -282,7 +282,7 @@ int qxl_get_handle_for_primary_fb(struct qxl_device *qdev,
282} 282}
283 283
284static int qxlfb_create_pinned_object(struct qxl_fbdev *qfbdev, 284static int qxlfb_create_pinned_object(struct qxl_fbdev *qfbdev,
285 struct drm_mode_fb_cmd2 *mode_cmd, 285 const struct drm_mode_fb_cmd2 *mode_cmd,
286 struct drm_gem_object **gobj_p) 286 struct drm_gem_object **gobj_p)
287{ 287{
288 struct qxl_device *qdev = qfbdev->qdev; 288 struct qxl_device *qdev = qfbdev->qdev;
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index a8d9927ed9eb..ded51fbb8fa2 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -1292,7 +1292,7 @@ static const struct drm_framebuffer_funcs radeon_fb_funcs = {
1292int 1292int
1293radeon_framebuffer_init(struct drm_device *dev, 1293radeon_framebuffer_init(struct drm_device *dev,
1294 struct radeon_framebuffer *rfb, 1294 struct radeon_framebuffer *rfb,
1295 struct drm_mode_fb_cmd2 *mode_cmd, 1295 const struct drm_mode_fb_cmd2 *mode_cmd,
1296 struct drm_gem_object *obj) 1296 struct drm_gem_object *obj)
1297{ 1297{
1298 int ret; 1298 int ret;
@@ -1309,7 +1309,7 @@ radeon_framebuffer_init(struct drm_device *dev,
1309static struct drm_framebuffer * 1309static struct drm_framebuffer *
1310radeon_user_framebuffer_create(struct drm_device *dev, 1310radeon_user_framebuffer_create(struct drm_device *dev,
1311 struct drm_file *file_priv, 1311 struct drm_file *file_priv,
1312 struct drm_mode_fb_cmd2 *mode_cmd) 1312 const struct drm_mode_fb_cmd2 *mode_cmd)
1313{ 1313{
1314 struct drm_gem_object *obj; 1314 struct drm_gem_object *obj;
1315 struct radeon_framebuffer *radeon_fb; 1315 struct radeon_framebuffer *radeon_fb;
diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h
index 830e171c3a9e..b8e3c277a95b 100644
--- a/drivers/gpu/drm/radeon/radeon_mode.h
+++ b/drivers/gpu/drm/radeon/radeon_mode.h
@@ -929,7 +929,7 @@ extern void radeon_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green
929 u16 *blue, int regno); 929 u16 *blue, int regno);
930int radeon_framebuffer_init(struct drm_device *dev, 930int radeon_framebuffer_init(struct drm_device *dev,
931 struct radeon_framebuffer *rfb, 931 struct radeon_framebuffer *rfb,
932 struct drm_mode_fb_cmd2 *mode_cmd, 932 const struct drm_mode_fb_cmd2 *mode_cmd,
933 struct drm_gem_object *obj); 933 struct drm_gem_object *obj);
934 934
935int radeonfb_remove(struct drm_device *dev, struct drm_framebuffer *fb); 935int radeonfb_remove(struct drm_device *dev, struct drm_framebuffer *fb);
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
index ca12e8ca5552..43bce69d8560 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
@@ -136,7 +136,7 @@ int rcar_du_dumb_create(struct drm_file *file, struct drm_device *dev,
136 136
137static struct drm_framebuffer * 137static struct drm_framebuffer *
138rcar_du_fb_create(struct drm_device *dev, struct drm_file *file_priv, 138rcar_du_fb_create(struct drm_device *dev, struct drm_file *file_priv,
139 struct drm_mode_fb_cmd2 *mode_cmd) 139 const struct drm_mode_fb_cmd2 *mode_cmd)
140{ 140{
141 struct rcar_du_device *rcdu = dev->dev_private; 141 struct rcar_du_device *rcdu = dev->dev_private;
142 const struct rcar_du_format_info *format; 142 const struct rcar_du_format_info *format;
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
index 002645bb5bbf..b8ac5911c102 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
@@ -72,7 +72,7 @@ static struct drm_framebuffer_funcs rockchip_drm_fb_funcs = {
72}; 72};
73 73
74static struct rockchip_drm_fb * 74static struct rockchip_drm_fb *
75rockchip_fb_alloc(struct drm_device *dev, struct drm_mode_fb_cmd2 *mode_cmd, 75rockchip_fb_alloc(struct drm_device *dev, const struct drm_mode_fb_cmd2 *mode_cmd,
76 struct drm_gem_object **obj, unsigned int num_planes) 76 struct drm_gem_object **obj, unsigned int num_planes)
77{ 77{
78 struct rockchip_drm_fb *rockchip_fb; 78 struct rockchip_drm_fb *rockchip_fb;
@@ -102,7 +102,7 @@ rockchip_fb_alloc(struct drm_device *dev, struct drm_mode_fb_cmd2 *mode_cmd,
102 102
103static struct drm_framebuffer * 103static struct drm_framebuffer *
104rockchip_user_fb_create(struct drm_device *dev, struct drm_file *file_priv, 104rockchip_user_fb_create(struct drm_device *dev, struct drm_file *file_priv,
105 struct drm_mode_fb_cmd2 *mode_cmd) 105 const struct drm_mode_fb_cmd2 *mode_cmd)
106{ 106{
107 struct rockchip_drm_fb *rockchip_fb; 107 struct rockchip_drm_fb *rockchip_fb;
108 struct drm_gem_object *objs[ROCKCHIP_MAX_FB_BUFFER]; 108 struct drm_gem_object *objs[ROCKCHIP_MAX_FB_BUFFER];
@@ -173,7 +173,7 @@ static const struct drm_mode_config_funcs rockchip_drm_mode_config_funcs = {
173 173
174struct drm_framebuffer * 174struct drm_framebuffer *
175rockchip_drm_framebuffer_init(struct drm_device *dev, 175rockchip_drm_framebuffer_init(struct drm_device *dev,
176 struct drm_mode_fb_cmd2 *mode_cmd, 176 const struct drm_mode_fb_cmd2 *mode_cmd,
177 struct drm_gem_object *obj) 177 struct drm_gem_object *obj)
178{ 178{
179 struct rockchip_drm_fb *rockchip_fb; 179 struct rockchip_drm_fb *rockchip_fb;
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.h b/drivers/gpu/drm/rockchip/rockchip_drm_fb.h
index 09574d48226f..2fe47f1ee98f 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.h
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.h
@@ -17,7 +17,7 @@
17 17
18struct drm_framebuffer * 18struct drm_framebuffer *
19rockchip_drm_framebuffer_init(struct drm_device *dev, 19rockchip_drm_framebuffer_init(struct drm_device *dev,
20 struct drm_mode_fb_cmd2 *mode_cmd, 20 const struct drm_mode_fb_cmd2 *mode_cmd,
21 struct drm_gem_object *obj); 21 struct drm_gem_object *obj);
22void rockchip_drm_framebuffer_fini(struct drm_framebuffer *fb); 22void rockchip_drm_framebuffer_fini(struct drm_framebuffer *fb);
23 23
diff --git a/drivers/gpu/drm/shmobile/shmob_drm_kms.c b/drivers/gpu/drm/shmobile/shmob_drm_kms.c
index aaf98ace4a90..388a0fc13564 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_kms.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_kms.c
@@ -104,7 +104,7 @@ const struct shmob_drm_format_info *shmob_drm_format_info(u32 fourcc)
104 104
105static struct drm_framebuffer * 105static struct drm_framebuffer *
106shmob_drm_fb_create(struct drm_device *dev, struct drm_file *file_priv, 106shmob_drm_fb_create(struct drm_device *dev, struct drm_file *file_priv,
107 struct drm_mode_fb_cmd2 *mode_cmd) 107 const struct drm_mode_fb_cmd2 *mode_cmd)
108{ 108{
109 const struct shmob_drm_format_info *format; 109 const struct shmob_drm_format_info *format;
110 110
diff --git a/drivers/gpu/drm/tegra/drm.h b/drivers/gpu/drm/tegra/drm.h
index 942cad9b3ecb..d88a2d18c1a4 100644
--- a/drivers/gpu/drm/tegra/drm.h
+++ b/drivers/gpu/drm/tegra/drm.h
@@ -268,7 +268,7 @@ int tegra_fb_get_tiling(struct drm_framebuffer *framebuffer,
268 struct tegra_bo_tiling *tiling); 268 struct tegra_bo_tiling *tiling);
269struct drm_framebuffer *tegra_fb_create(struct drm_device *drm, 269struct drm_framebuffer *tegra_fb_create(struct drm_device *drm,
270 struct drm_file *file, 270 struct drm_file *file,
271 struct drm_mode_fb_cmd2 *cmd); 271 const struct drm_mode_fb_cmd2 *cmd);
272int tegra_drm_fb_prepare(struct drm_device *drm); 272int tegra_drm_fb_prepare(struct drm_device *drm);
273void tegra_drm_fb_free(struct drm_device *drm); 273void tegra_drm_fb_free(struct drm_device *drm);
274int tegra_drm_fb_init(struct drm_device *drm); 274int tegra_drm_fb_init(struct drm_device *drm);
diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c
index bec07d934b3b..ede9e94f3312 100644
--- a/drivers/gpu/drm/tegra/fb.c
+++ b/drivers/gpu/drm/tegra/fb.c
@@ -92,7 +92,7 @@ static struct drm_framebuffer_funcs tegra_fb_funcs = {
92}; 92};
93 93
94static struct tegra_fb *tegra_fb_alloc(struct drm_device *drm, 94static struct tegra_fb *tegra_fb_alloc(struct drm_device *drm,
95 struct drm_mode_fb_cmd2 *mode_cmd, 95 const struct drm_mode_fb_cmd2 *mode_cmd,
96 struct tegra_bo **planes, 96 struct tegra_bo **planes,
97 unsigned int num_planes) 97 unsigned int num_planes)
98{ 98{
@@ -131,7 +131,7 @@ static struct tegra_fb *tegra_fb_alloc(struct drm_device *drm,
131 131
132struct drm_framebuffer *tegra_fb_create(struct drm_device *drm, 132struct drm_framebuffer *tegra_fb_create(struct drm_device *drm,
133 struct drm_file *file, 133 struct drm_file *file,
134 struct drm_mode_fb_cmd2 *cmd) 134 const struct drm_mode_fb_cmd2 *cmd)
135{ 135{
136 unsigned int hsub, vsub, i; 136 unsigned int hsub, vsub, i;
137 struct tegra_bo *planes[4]; 137 struct tegra_bo *planes[4];
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
index 876cad58b1f9..4ddb21e7f52f 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
@@ -46,7 +46,7 @@ void tilcdc_module_cleanup(struct tilcdc_module *mod)
46static struct of_device_id tilcdc_of_match[]; 46static struct of_device_id tilcdc_of_match[];
47 47
48static struct drm_framebuffer *tilcdc_fb_create(struct drm_device *dev, 48static struct drm_framebuffer *tilcdc_fb_create(struct drm_device *dev,
49 struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd) 49 struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd)
50{ 50{
51 return drm_fb_cma_create(dev, file_priv, mode_cmd); 51 return drm_fb_cma_create(dev, file_priv, mode_cmd);
52} 52}
diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h
index 80adbac82bde..4a064efcea58 100644
--- a/drivers/gpu/drm/udl/udl_drv.h
+++ b/drivers/gpu/drm/udl/udl_drv.h
@@ -108,7 +108,7 @@ void udl_fbdev_unplug(struct drm_device *dev);
108struct drm_framebuffer * 108struct drm_framebuffer *
109udl_fb_user_fb_create(struct drm_device *dev, 109udl_fb_user_fb_create(struct drm_device *dev,
110 struct drm_file *file, 110 struct drm_file *file,
111 struct drm_mode_fb_cmd2 *mode_cmd); 111 const struct drm_mode_fb_cmd2 *mode_cmd);
112 112
113int udl_render_hline(struct drm_device *dev, int bpp, struct urb **urb_ptr, 113int udl_render_hline(struct drm_device *dev, int bpp, struct urb **urb_ptr,
114 const char *front, char **urb_buf_ptr, 114 const char *front, char **urb_buf_ptr,
diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c
index b9df46efb622..200419d4d43c 100644
--- a/drivers/gpu/drm/udl/udl_fb.c
+++ b/drivers/gpu/drm/udl/udl_fb.c
@@ -455,7 +455,7 @@ static const struct drm_framebuffer_funcs udlfb_funcs = {
455static int 455static int
456udl_framebuffer_init(struct drm_device *dev, 456udl_framebuffer_init(struct drm_device *dev,
457 struct udl_framebuffer *ufb, 457 struct udl_framebuffer *ufb,
458 struct drm_mode_fb_cmd2 *mode_cmd, 458 const struct drm_mode_fb_cmd2 *mode_cmd,
459 struct udl_gem_object *obj) 459 struct udl_gem_object *obj)
460{ 460{
461 int ret; 461 int ret;
@@ -623,7 +623,7 @@ void udl_fbdev_unplug(struct drm_device *dev)
623struct drm_framebuffer * 623struct drm_framebuffer *
624udl_fb_user_fb_create(struct drm_device *dev, 624udl_fb_user_fb_create(struct drm_device *dev,
625 struct drm_file *file, 625 struct drm_file *file,
626 struct drm_mode_fb_cmd2 *mode_cmd) 626 const struct drm_mode_fb_cmd2 *mode_cmd)
627{ 627{
628 struct drm_gem_object *obj; 628 struct drm_gem_object *obj;
629 struct udl_framebuffer *ufb; 629 struct udl_framebuffer *ufb;
diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c
index f545913a56c7..306a7df7d013 100644
--- a/drivers/gpu/drm/virtio/virtgpu_display.c
+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
@@ -215,7 +215,7 @@ static const struct drm_framebuffer_funcs virtio_gpu_fb_funcs = {
215int 215int
216virtio_gpu_framebuffer_init(struct drm_device *dev, 216virtio_gpu_framebuffer_init(struct drm_device *dev,
217 struct virtio_gpu_framebuffer *vgfb, 217 struct virtio_gpu_framebuffer *vgfb,
218 struct drm_mode_fb_cmd2 *mode_cmd, 218 const struct drm_mode_fb_cmd2 *mode_cmd,
219 struct drm_gem_object *obj) 219 struct drm_gem_object *obj)
220{ 220{
221 int ret; 221 int ret;
@@ -465,7 +465,7 @@ static int vgdev_output_init(struct virtio_gpu_device *vgdev, int index)
465static struct drm_framebuffer * 465static struct drm_framebuffer *
466virtio_gpu_user_framebuffer_create(struct drm_device *dev, 466virtio_gpu_user_framebuffer_create(struct drm_device *dev,
467 struct drm_file *file_priv, 467 struct drm_file *file_priv,
468 struct drm_mode_fb_cmd2 *mode_cmd) 468 const struct drm_mode_fb_cmd2 *mode_cmd)
469{ 469{
470 struct drm_gem_object *obj = NULL; 470 struct drm_gem_object *obj = NULL;
471 struct virtio_gpu_framebuffer *virtio_gpu_fb; 471 struct virtio_gpu_framebuffer *virtio_gpu_fb;
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 79f0abe69b64..8f486f4c7023 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -328,7 +328,7 @@ void virtio_gpu_dequeue_fence_func(struct work_struct *work);
328/* virtio_gpu_display.c */ 328/* virtio_gpu_display.c */
329int virtio_gpu_framebuffer_init(struct drm_device *dev, 329int virtio_gpu_framebuffer_init(struct drm_device *dev,
330 struct virtio_gpu_framebuffer *vgfb, 330 struct virtio_gpu_framebuffer *vgfb,
331 struct drm_mode_fb_cmd2 *mode_cmd, 331 const struct drm_mode_fb_cmd2 *mode_cmd,
332 struct drm_gem_object *obj); 332 struct drm_gem_object *obj);
333int virtio_gpu_modeset_init(struct virtio_gpu_device *vgdev); 333int virtio_gpu_modeset_init(struct virtio_gpu_device *vgdev);
334void virtio_gpu_modeset_fini(struct virtio_gpu_device *vgdev); 334void virtio_gpu_modeset_fini(struct virtio_gpu_device *vgdev);
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
index 9fcd7f82995c..e38db35132ed 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
@@ -930,7 +930,7 @@ vmw_kms_new_framebuffer(struct vmw_private *dev_priv,
930 930
931static struct drm_framebuffer *vmw_kms_fb_create(struct drm_device *dev, 931static struct drm_framebuffer *vmw_kms_fb_create(struct drm_device *dev,
932 struct drm_file *file_priv, 932 struct drm_file *file_priv,
933 struct drm_mode_fb_cmd2 *mode_cmd2) 933 const struct drm_mode_fb_cmd2 *mode_cmd2)
934{ 934{
935 struct vmw_private *dev_priv = vmw_priv(dev); 935 struct vmw_private *dev_priv = vmw_priv(dev);
936 struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile; 936 struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile;
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index f47cefa37ef3..173535a35d65 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -996,7 +996,7 @@ struct drm_mode_set {
996struct drm_mode_config_funcs { 996struct drm_mode_config_funcs {
997 struct drm_framebuffer *(*fb_create)(struct drm_device *dev, 997 struct drm_framebuffer *(*fb_create)(struct drm_device *dev,
998 struct drm_file *file_priv, 998 struct drm_file *file_priv,
999 struct drm_mode_fb_cmd2 *mode_cmd); 999 const struct drm_mode_fb_cmd2 *mode_cmd);
1000 void (*output_poll_changed)(struct drm_device *dev); 1000 void (*output_poll_changed)(struct drm_device *dev);
1001 1001
1002 int (*atomic_check)(struct drm_device *dev, 1002 int (*atomic_check)(struct drm_device *dev,
diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h
index 3febb4b9fce9..e22ab29d2d00 100644
--- a/include/drm/drm_crtc_helper.h
+++ b/include/drm/drm_crtc_helper.h
@@ -197,7 +197,7 @@ extern int drm_helper_connector_dpms(struct drm_connector *connector, int mode);
197extern void drm_helper_move_panel_connectors_to_head(struct drm_device *); 197extern void drm_helper_move_panel_connectors_to_head(struct drm_device *);
198 198
199extern void drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb, 199extern void drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
200 struct drm_mode_fb_cmd2 *mode_cmd); 200 const struct drm_mode_fb_cmd2 *mode_cmd);
201 201
202static inline void drm_crtc_helper_add(struct drm_crtc *crtc, 202static inline void drm_crtc_helper_add(struct drm_crtc *crtc,
203 const struct drm_crtc_helper_funcs *funcs) 203 const struct drm_crtc_helper_funcs *funcs)
diff --git a/include/drm/drm_fb_cma_helper.h b/include/drm/drm_fb_cma_helper.h
index c54cf3d4a03f..be62bd321e75 100644
--- a/include/drm/drm_fb_cma_helper.h
+++ b/include/drm/drm_fb_cma_helper.h
@@ -18,7 +18,7 @@ void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma);
18void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma); 18void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
19 19
20struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev, 20struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev,
21 struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd); 21 struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd);
22 22
23struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb, 23struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb,
24 unsigned int plane); 24 unsigned int plane);