This seems to have caused a warning to appear. I generally build with 
-Werror which means my build is broken :(.

intel_display.c: In function 'intel_user_framebuffer_create':
i915/intel_display.c(14593)2: warning: passing argument 2 of 
'intel_framebuffer_create' discards 'const' qualifier from pointer 
target type [enabled by default]
   fb = intel_framebuffer_create(dev, mode_cmd, obj);
   ^
intel_display.c(10128)1: note: expected 'struct drm_mode_fb_cmd2 *' but 
argument is of type 'const struct drm_mode_fb_cmd2 *'




On 17/11/2015 09:48, Daniel Vetter wrote:
> On Wed, Nov 11, 2015 at 07:11:29PM +0200, ville.syrjala at linux.intel.com 
> wrote:
>> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>>
>> 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 at linux.intel.com>
>> ---
>> I tried to cross-compile everything, and didn't get any failures,
>> but I'm not 100% sure I caught every driver.
> Applied to drm-misc. With a bit of soaking that should catch anything
> missed.
> -Daniel
>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_display.c  | 4 ++--
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h     | 2 +-
>>   drivers/gpu/drm/armada/armada_fb.c           | 4 ++--
>>   drivers/gpu/drm/armada/armada_fb.h           | 2 +-
>>   drivers/gpu/drm/ast/ast_drv.h                | 2 +-
>>   drivers/gpu/drm/ast/ast_fb.c                 | 2 +-
>>   drivers/gpu/drm/ast/ast_main.c               | 4 ++--
>>   drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 2 +-
>>   drivers/gpu/drm/bochs/bochs.h                | 2 +-
>>   drivers/gpu/drm/bochs/bochs_fbdev.c          | 2 +-
>>   drivers/gpu/drm/bochs/bochs_mm.c             | 4 ++--
>>   drivers/gpu/drm/cirrus/cirrus_drv.h          | 2 +-
>>   drivers/gpu/drm/cirrus/cirrus_fbdev.c        | 2 +-
>>   drivers/gpu/drm/cirrus/cirrus_main.c         | 4 ++--
>>   drivers/gpu/drm/drm_crtc.c                   | 4 ++--
>>   drivers/gpu/drm/drm_crtc_helper.c            | 2 +-
>>   drivers/gpu/drm/drm_fb_cma_helper.c          | 4 ++--
>>   drivers/gpu/drm/exynos/exynos_drm_fb.c       | 4 ++--
>>   drivers/gpu/drm/exynos/exynos_drm_fb.h       | 2 +-
>>   drivers/gpu/drm/gma500/framebuffer.c         | 6 +++---
>>   drivers/gpu/drm/i915/intel_display.c         | 2 +-
>>   drivers/gpu/drm/mgag200/mgag200_drv.h        | 2 +-
>>   drivers/gpu/drm/mgag200/mgag200_fb.c         | 2 +-
>>   drivers/gpu/drm/mgag200/mgag200_main.c       | 4 ++--
>>   drivers/gpu/drm/msm/msm_drv.h                | 4 ++--
>>   drivers/gpu/drm/msm/msm_fb.c                 | 4 ++--
>>   drivers/gpu/drm/nouveau/nouveau_display.c    | 4 ++--
>>   drivers/gpu/drm/nouveau/nouveau_display.h    | 2 +-
>>   drivers/gpu/drm/omapdrm/omap_drv.h           | 6 +++---
>>   drivers/gpu/drm/omapdrm/omap_fb.c            | 4 ++--
>>   drivers/gpu/drm/qxl/qxl_display.c            | 4 ++--
>>   drivers/gpu/drm/qxl/qxl_drv.h                | 2 +-
>>   drivers/gpu/drm/qxl/qxl_fb.c                 | 2 +-
>>   drivers/gpu/drm/radeon/radeon_display.c      | 4 ++--
>>   drivers/gpu/drm/radeon/radeon_mode.h         | 2 +-
>>   drivers/gpu/drm/rcar-du/rcar_du_kms.c        | 2 +-
>>   drivers/gpu/drm/rockchip/rockchip_drm_fb.c   | 6 +++---
>>   drivers/gpu/drm/rockchip/rockchip_drm_fb.h   | 2 +-
>>   drivers/gpu/drm/shmobile/shmob_drm_kms.c     | 2 +-
>>   drivers/gpu/drm/tegra/drm.h                  | 2 +-
>>   drivers/gpu/drm/tegra/fb.c                   | 4 ++--
>>   drivers/gpu/drm/tilcdc/tilcdc_drv.c          | 2 +-
>>   drivers/gpu/drm/udl/udl_drv.h                | 2 +-
>>   drivers/gpu/drm/udl/udl_fb.c                 | 4 ++--
>>   drivers/gpu/drm/virtio/virtgpu_display.c     | 4 ++--
>>   drivers/gpu/drm/virtio/virtgpu_drv.h         | 2 +-
>>   drivers/gpu/drm/vmwgfx/vmwgfx_kms.c          | 2 +-
>>   include/drm/drm_crtc.h                       | 2 +-
>>   include/drm/drm_crtc_helper.h                | 2 +-
>>   include/drm/drm_fb_cma_helper.h              | 2 +-
>>   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 e173a5a..7d5e058 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 = {
>>   int
>>   amdgpu_framebuffer_init(struct drm_device *dev,
>>                      struct amdgpu_framebuffer *rfb,
>> -                    struct drm_mode_fb_cmd2 *mode_cmd,
>> +                    const struct drm_mode_fb_cmd2 *mode_cmd,
>>                      struct drm_gem_object *obj)
>>   {
>>      int ret;
>> @@ -498,7 +498,7 @@ amdgpu_framebuffer_init(struct drm_device *dev,
>>   static struct drm_framebuffer *
>>   amdgpu_user_framebuffer_create(struct drm_device *dev,
>>                             struct drm_file *file_priv,
>> -                           struct drm_mode_fb_cmd2 *mode_cmd)
>> +                           const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *obj;
>>      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 b62c171..de452996 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,
>>   
>>   int amdgpu_framebuffer_init(struct drm_device *dev,
>>                           struct amdgpu_framebuffer *rfb,
>> -                         struct drm_mode_fb_cmd2 *mode_cmd,
>> +                         const struct drm_mode_fb_cmd2 *mode_cmd,
>>                           struct drm_gem_object *obj);
>>   
>>   int 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 1c90969..5fa4bf2 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 
>> = {
>>   };
>>   
>>   struct armada_framebuffer *armada_framebuffer_create(struct drm_device 
>> *dev,
>> -    struct drm_mode_fb_cmd2 *mode, struct armada_gem_object *obj)
>> +    const struct drm_mode_fb_cmd2 *mode, struct armada_gem_object *obj)
>>   {
>>      struct armada_framebuffer *dfb;
>>      uint8_t format, config;
>> @@ -101,7 +101,7 @@ struct armada_framebuffer 
>> *armada_framebuffer_create(struct drm_device *dev,
>>   }
>>   
>>   static struct drm_framebuffer *armada_fb_create(struct drm_device *dev,
>> -    struct drm_file *dfile, struct drm_mode_fb_cmd2 *mode)
>> +    struct drm_file *dfile, const struct drm_mode_fb_cmd2 *mode)
>>   {
>>      struct armada_gem_object *obj;
>>      struct armada_framebuffer *dfb;
>> diff --git a/drivers/gpu/drm/armada/armada_fb.h 
>> b/drivers/gpu/drm/armada/armada_fb.h
>> index ce3f12e..48073c4 100644
>> --- a/drivers/gpu/drm/armada/armada_fb.h
>> +++ b/drivers/gpu/drm/armada/armada_fb.h
>> @@ -19,6 +19,6 @@ struct armada_framebuffer {
>>   #define drm_fb_obj(fb) drm_fb_to_armada_fb(fb)->obj
>>   
>>   struct armada_framebuffer *armada_framebuffer_create(struct drm_device *,
>> -    struct drm_mode_fb_cmd2 *, struct armada_gem_object *);
>> +    const struct drm_mode_fb_cmd2 *, struct armada_gem_object *);
>>   
>>   #endif
>> diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
>> index 05f6522..e227f8a 100644
>> --- a/drivers/gpu/drm/ast/ast_drv.h
>> +++ b/drivers/gpu/drm/ast/ast_drv.h
>> @@ -309,7 +309,7 @@ extern void ast_mode_fini(struct drm_device *dev);
>>   
>>   int ast_framebuffer_init(struct drm_device *dev,
>>                       struct ast_framebuffer *ast_fb,
>> -                     struct drm_mode_fb_cmd2 *mode_cmd,
>> +                     const struct drm_mode_fb_cmd2 *mode_cmd,
>>                       struct drm_gem_object *obj);
>>   
>>   int 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 a37e7ea..5320f8c 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 = {
>>   };
>>   
>>   static int astfb_create_object(struct ast_fbdev *afbdev,
>> -                           struct drm_mode_fb_cmd2 *mode_cmd,
>> +                           const struct drm_mode_fb_cmd2 *mode_cmd,
>>                             struct drm_gem_object **gobj_p)
>>   {
>>      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 541a610..9759009 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 = 
>> {
>>   
>>   int ast_framebuffer_init(struct drm_device *dev,
>>                       struct ast_framebuffer *ast_fb,
>> -                     struct drm_mode_fb_cmd2 *mode_cmd,
>> +                     const struct drm_mode_fb_cmd2 *mode_cmd,
>>                       struct drm_gem_object *obj)
>>   {
>>      int ret;
>> @@ -327,7 +327,7 @@ int ast_framebuffer_init(struct drm_device *dev,
>>   static struct drm_framebuffer *
>>   ast_user_framebuffer_create(struct drm_device *dev,
>>             struct drm_file *filp,
>> -           struct drm_mode_fb_cmd2 *mode_cmd)
>> +           const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *obj;
>>      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 244df0a..8168954 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)
>>   }
>>   
>>   static struct drm_framebuffer *atmel_hlcdc_fb_create(struct drm_device 
>> *dev,
>> -            struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd)
>> +            struct drm_file *file_priv, const struct drm_mode_fb_cmd2 
>> *mode_cmd)
>>   {
>>      return drm_fb_cma_create(dev, file_priv, mode_cmd);
>>   }
>> diff --git a/drivers/gpu/drm/bochs/bochs.h b/drivers/gpu/drm/bochs/bochs.h
>> index 71f2687..19b5ada 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,
>>   
>>   int bochs_framebuffer_init(struct drm_device *dev,
>>                         struct bochs_framebuffer *gfb,
>> -                       struct drm_mode_fb_cmd2 *mode_cmd,
>> +                       const struct drm_mode_fb_cmd2 *mode_cmd,
>>                         struct drm_gem_object *obj);
>>   int bochs_bo_pin(struct bochs_bo *bo, u32 pl_flag, u64 *gpu_addr);
>>   int 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 09a0637..7520bf8 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 = {
>>   };
>>   
>>   static int bochsfb_create_object(struct bochs_device *bochs,
>> -                             struct drm_mode_fb_cmd2 *mode_cmd,
>> +                             const struct drm_mode_fb_cmd2 *mode_cmd,
>>                               struct drm_gem_object **gobj_p)
>>   {
>>      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 f69e6bf..d812ad0 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 
>> = {
>>   
>>   int bochs_framebuffer_init(struct drm_device *dev,
>>                         struct bochs_framebuffer *gfb,
>> -                       struct drm_mode_fb_cmd2 *mode_cmd,
>> +                       const struct drm_mode_fb_cmd2 *mode_cmd,
>>                         struct drm_gem_object *obj)
>>   {
>>      int ret;
>> @@ -502,7 +502,7 @@ int bochs_framebuffer_init(struct drm_device *dev,
>>   static struct drm_framebuffer *
>>   bochs_user_framebuffer_create(struct drm_device *dev,
>>                            struct drm_file *filp,
>> -                          struct drm_mode_fb_cmd2 *mode_cmd)
>> +                          const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *obj;
>>      struct bochs_framebuffer *bochs_fb;
>> diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.h 
>> b/drivers/gpu/drm/cirrus/cirrus_drv.h
>> index 7050615..1370a51 100644
>> --- a/drivers/gpu/drm/cirrus/cirrus_drv.h
>> +++ b/drivers/gpu/drm/cirrus/cirrus_drv.h
>> @@ -207,7 +207,7 @@ int cirrus_dumb_create(struct drm_file *file,
>>   
>>   int cirrus_framebuffer_init(struct drm_device *dev,
>>                         struct cirrus_framebuffer *gfb,
>> -                        struct drm_mode_fb_cmd2 *mode_cmd,
>> +                        const struct drm_mode_fb_cmd2 *mode_cmd,
>>                          struct drm_gem_object *obj);
>>   
>>   bool 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 589103b..3b5be72 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 = {
>>   };
>>   
>>   static int cirrusfb_create_object(struct cirrus_fbdev *afbdev,
>> -                           struct drm_mode_fb_cmd2 *mode_cmd,
>> +                           const struct drm_mode_fb_cmd2 *mode_cmd,
>>                             struct drm_gem_object **gobj_p)
>>   {
>>      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 055fd86..0907715 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 
>> = {
>>   
>>   int cirrus_framebuffer_init(struct drm_device *dev,
>>                          struct cirrus_framebuffer *gfb,
>> -                        struct drm_mode_fb_cmd2 *mode_cmd,
>> +                        const struct drm_mode_fb_cmd2 *mode_cmd,
>>                          struct drm_gem_object *obj)
>>   {
>>      int ret;
>> @@ -47,7 +47,7 @@ int cirrus_framebuffer_init(struct drm_device *dev,
>>   static struct drm_framebuffer *
>>   cirrus_user_framebuffer_create(struct drm_device *dev,
>>                             struct drm_file *filp,
>> -                           struct drm_mode_fb_cmd2 *mode_cmd)
>> +                           const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct cirrus_device *cdev = dev->dev_private;
>>      struct drm_gem_object *obj;
>> diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
>> index 24c5434..32dd134 100644
>> --- a/drivers/gpu/drm/drm_crtc.c
>> +++ b/drivers/gpu/drm/drm_crtc.c
>> @@ -45,7 +45,7 @@
>>   
>>   static struct drm_framebuffer *
>>   internal_framebuffer_create(struct drm_device *dev,
>> -                        struct drm_mode_fb_cmd2 *r,
>> +                        const struct drm_mode_fb_cmd2 *r,
>>                          struct drm_file *file_priv);
>>   
>>   /* Avoid boilerplate.  I'm tired of typing. */
>> @@ -3235,7 +3235,7 @@ static int framebuffer_check(const struct 
>> drm_mode_fb_cmd2 *r)
>>   
>>   static struct drm_framebuffer *
>>   internal_framebuffer_create(struct drm_device *dev,
>> -                        struct drm_mode_fb_cmd2 *r,
>> +                        const struct drm_mode_fb_cmd2 *r,
>>                          struct drm_file *file_priv)
>>   {
>>      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 ef53475..6b4cf25 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);
>>    * metadata fields.
>>    */
>>   void drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
>> -                                struct drm_mode_fb_cmd2 *mode_cmd)
>> +                                const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      int i;
>>   
>> diff --git a/drivers/gpu/drm/drm_fb_cma_helper.c 
>> b/drivers/gpu/drm/drm_fb_cma_helper.c
>> index c19a625..b7d5b84 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 = {
>>   };
>>   
>>   static struct drm_fb_cma *drm_fb_cma_alloc(struct drm_device *dev,
>> -    struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_cma_object **obj,
>> +    const const struct drm_mode_fb_cmd2 *mode_cmd, struct 
>> drm_gem_cma_object **obj,
>>      unsigned int num_planes)
>>   {
>>      struct drm_fb_cma *fb_cma;
>> @@ -107,7 +107,7 @@ static struct drm_fb_cma *drm_fb_cma_alloc(struct 
>> drm_device *dev,
>>    * checked before calling this function.
>>    */
>>   struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev,
>> -    struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd)
>> +    struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_fb_cma *fb_cma;
>>      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 fcea28b..49b9bc3 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 
>> = {
>>   
>>   struct drm_framebuffer *
>>   exynos_drm_framebuffer_init(struct drm_device *dev,
>> -                        struct drm_mode_fb_cmd2 *mode_cmd,
>> +                        const struct drm_mode_fb_cmd2 *mode_cmd,
>>                          struct exynos_drm_gem **exynos_gem,
>>                          int count)
>>   {
>> @@ -154,7 +154,7 @@ err:
>>   
>>   static struct drm_framebuffer *
>>   exynos_user_fb_create(struct drm_device *dev, struct drm_file *file_priv,
>> -                  struct drm_mode_fb_cmd2 *mode_cmd)
>> +                  const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct exynos_drm_gem *exynos_gem[MAX_FB_BUFFER];
>>      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 726a2d4..a8a75ac 100644
>> --- a/drivers/gpu/drm/exynos/exynos_drm_fb.h
>> +++ b/drivers/gpu/drm/exynos/exynos_drm_fb.h
>> @@ -18,7 +18,7 @@
>>   
>>   struct drm_framebuffer *
>>   exynos_drm_framebuffer_init(struct drm_device *dev,
>> -                        struct drm_mode_fb_cmd2 *mode_cmd,
>> +                        const struct drm_mode_fb_cmd2 *mode_cmd,
>>                          struct exynos_drm_gem **exynos_gem,
>>                          int count);
>>   
>> diff --git a/drivers/gpu/drm/gma500/framebuffer.c 
>> b/drivers/gpu/drm/gma500/framebuffer.c
>> index 2eaf1b3..dc0508d 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 = {
>>    */
>>   static int psb_framebuffer_init(struct drm_device *dev,
>>                                      struct psb_framebuffer *fb,
>> -                                    struct drm_mode_fb_cmd2 *mode_cmd,
>> +                                    const struct drm_mode_fb_cmd2 *mode_cmd,
>>                                      struct gtt_range *gt)
>>   {
>>      u32 bpp, depth;
>> @@ -284,7 +284,7 @@ static int psb_framebuffer_init(struct drm_device *dev,
>>   
>>   static struct drm_framebuffer *psb_framebuffer_create
>>                      (struct drm_device *dev,
>> -                     struct drm_mode_fb_cmd2 *mode_cmd,
>> +                     const struct drm_mode_fb_cmd2 *mode_cmd,
>>                       struct gtt_range *gt)
>>   {
>>      struct psb_framebuffer *fb;
>> @@ -488,7 +488,7 @@ out_err1:
>>    */
>>   static struct drm_framebuffer *psb_user_framebuffer_create
>>                      (struct drm_device *dev, struct drm_file *filp,
>> -                     struct drm_mode_fb_cmd2 *cmd)
>> +                     const struct drm_mode_fb_cmd2 *cmd)
>>   {
>>      struct gtt_range *r;
>>      struct drm_gem_object *obj;
>> diff --git a/drivers/gpu/drm/i915/intel_display.c 
>> b/drivers/gpu/drm/i915/intel_display.c
>> index c3aa6f5..58dbac7 100644
>> --- a/drivers/gpu/drm/i915/intel_display.c
>> +++ b/drivers/gpu/drm/i915/intel_display.c
>> @@ -14578,7 +14578,7 @@ static int intel_framebuffer_init(struct drm_device 
>> *dev,
>>   static struct drm_framebuffer *
>>   intel_user_framebuffer_create(struct drm_device *dev,
>>                            struct drm_file *filp,
>> -                          struct drm_mode_fb_cmd2 *user_mode_cmd)
>> +                          const struct drm_mode_fb_cmd2 *user_mode_cmd)
>>   {
>>      struct drm_framebuffer *fb;
>>      struct drm_i915_gem_object *obj;
>> diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.h 
>> b/drivers/gpu/drm/mgag200/mgag200_drv.h
>> index 912151c..205b280 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);
>>                              /* mgag200_main.c */
>>   int mgag200_framebuffer_init(struct drm_device *dev,
>>                           struct mga_framebuffer *mfb,
>> -                         struct drm_mode_fb_cmd2 *mode_cmd,
>> +                         const struct drm_mode_fb_cmd2 *mode_cmd,
>>                           struct drm_gem_object *obj);
>>   
>>   
>> diff --git a/drivers/gpu/drm/mgag200/mgag200_fb.c 
>> b/drivers/gpu/drm/mgag200/mgag200_fb.c
>> index b35b5b2..d9b04b0 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 = {
>>   };
>>   
>>   static int mgag200fb_create_object(struct mga_fbdev *afbdev,
>> -                               struct drm_mode_fb_cmd2 *mode_cmd,
>> +                               const struct drm_mode_fb_cmd2 *mode_cmd,
>>                                 struct drm_gem_object **gobj_p)
>>   {
>>      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 b1a0f56..9147444 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 = {
>>   
>>   int mgag200_framebuffer_init(struct drm_device *dev,
>>                           struct mga_framebuffer *gfb,
>> -                         struct drm_mode_fb_cmd2 *mode_cmd,
>> +                         const struct drm_mode_fb_cmd2 *mode_cmd,
>>                           struct drm_gem_object *obj)
>>   {
>>      int ret;
>> @@ -47,7 +47,7 @@ int mgag200_framebuffer_init(struct drm_device *dev,
>>   static struct drm_framebuffer *
>>   mgag200_user_framebuffer_create(struct drm_device *dev,
>>                              struct drm_file *filp,
>> -                            struct drm_mode_fb_cmd2 *mode_cmd)
>> +                            const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *obj;
>>      struct mga_framebuffer *mga_fb;
>> diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
>> index 3be7a56..9a713b7 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);
>>   struct drm_gem_object *msm_framebuffer_bo(struct drm_framebuffer *fb, int 
>> plane);
>>   const struct msm_format *msm_framebuffer_format(struct drm_framebuffer 
>> *fb);
>>   struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
>> -            struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos);
>> +            const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object 
>> **bos);
>>   struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev,
>> -            struct drm_file *file, struct drm_mode_fb_cmd2 *mode_cmd);
>> +            struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
>>   
>>   struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev);
>>   
>> diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c
>> index 12171328..a474d6c 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)
>>   }
>>   
>>   struct drm_framebuffer *msm_framebuffer_create(struct drm_device *dev,
>> -            struct drm_file *file, struct drm_mode_fb_cmd2 *mode_cmd)
>> +            struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *bos[4] = {0};
>>      struct drm_framebuffer *fb;
>> @@ -168,7 +168,7 @@ out_unref:
>>   }
>>   
>>   struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev,
>> -            struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos)
>> +            const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object 
>> **bos)
>>   {
>>      struct msm_drm_private *priv = dev->dev_private;
>>      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 db6bc67..ea9d3bc 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 = {
>>   int
>>   nouveau_framebuffer_init(struct drm_device *dev,
>>                       struct nouveau_framebuffer *nv_fb,
>> -                     struct drm_mode_fb_cmd2 *mode_cmd,
>> +                     const struct drm_mode_fb_cmd2 *mode_cmd,
>>                       struct nouveau_bo *nvbo)
>>   {
>>      struct nouveau_display *disp = nouveau_display(dev);
>> @@ -272,7 +272,7 @@ nouveau_framebuffer_init(struct drm_device *dev,
>>   static struct drm_framebuffer *
>>   nouveau_user_framebuffer_create(struct drm_device *dev,
>>                              struct drm_file *file_priv,
>> -                            struct drm_mode_fb_cmd2 *mode_cmd)
>> +                            const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct nouveau_framebuffer *nouveau_fb;
>>      struct drm_gem_object *gem;
>> diff --git a/drivers/gpu/drm/nouveau/nouveau_display.h 
>> b/drivers/gpu/drm/nouveau/nouveau_display.h
>> index 856abe0..5a57d8b 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)
>>   }
>>   
>>   int nouveau_framebuffer_init(struct drm_device *, struct 
>> nouveau_framebuffer *,
>> -                         struct drm_mode_fb_cmd2 *, struct nouveau_bo *);
>> +                         const struct drm_mode_fb_cmd2 *, struct nouveau_bo 
>> *);
>>   
>>   struct nouveau_page_flip_state {
>>      struct list_head head;
>> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h 
>> b/drivers/gpu/drm/omapdrm/omap_drv.h
>> index 5c367aa..130fca7 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,
>>   uint32_t omap_framebuffer_get_formats(uint32_t *pixel_formats,
>>              uint32_t max_formats, enum omap_color_mode supported_modes);
>>   struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev,
>> -            struct drm_file *file, struct drm_mode_fb_cmd2 *mode_cmd);
>> +            struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
>>   struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev,
>> -            struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos);
>> +            const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object 
>> **bos);
>>   struct drm_gem_object *omap_framebuffer_bo(struct drm_framebuffer *fb, int 
>> p);
>>   int omap_framebuffer_pin(struct drm_framebuffer *fb);
>>   void omap_framebuffer_unpin(struct drm_framebuffer *fb);
>> @@ -248,7 +248,7 @@ struct omap_dss_device *omap_encoder_get_dssdev(struct 
>> drm_encoder *encoder);
>>   
>>   static inline int objects_lookup(struct drm_device *dev,
>>              struct drm_file *filp, uint32_t pixel_format,
>> -            struct drm_gem_object **bos, uint32_t *handles)
>> +            struct drm_gem_object **bos, const uint32_t *handles)
>>   {
>>      int i, n = drm_format_num_planes(pixel_format);
>>   
>> diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c 
>> b/drivers/gpu/drm/omapdrm/omap_fb.c
>> index 636a1f9..ad202df 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)
>>   #endif
>>   
>>   struct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev,
>> -            struct drm_file *file, struct drm_mode_fb_cmd2 *mode_cmd)
>> +            struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *bos[4];
>>      struct drm_framebuffer *fb;
>> @@ -386,7 +386,7 @@ struct drm_framebuffer *omap_framebuffer_create(struct 
>> drm_device *dev,
>>   }
>>   
>>   struct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev,
>> -            struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos)
>> +            const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object 
>> **bos)
>>   {
>>      struct omap_framebuffer *omap_fb = NULL;
>>      struct drm_framebuffer *fb = NULL;
>> diff --git a/drivers/gpu/drm/qxl/qxl_display.c 
>> b/drivers/gpu/drm/qxl/qxl_display.c
>> index 183aea1..cddba07 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 = 
>> {
>>   int
>>   qxl_framebuffer_init(struct drm_device *dev,
>>                   struct qxl_framebuffer *qfb,
>> -                 struct drm_mode_fb_cmd2 *mode_cmd,
>> +                 const struct drm_mode_fb_cmd2 *mode_cmd,
>>                   struct drm_gem_object *obj)
>>   {
>>      int ret;
>> @@ -1003,7 +1003,7 @@ static int qdev_output_init(struct drm_device *dev, 
>> int num_output)
>>   static struct drm_framebuffer *
>>   qxl_user_framebuffer_create(struct drm_device *dev,
>>                          struct drm_file *file_priv,
>> -                        struct drm_mode_fb_cmd2 *mode_cmd)
>> +                        const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *obj;
>>      struct qxl_framebuffer *qxl_fb;
>> diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
>> index 01a8694..6e6b9b1 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);
>>   int
>>   qxl_framebuffer_init(struct drm_device *dev,
>>                   struct qxl_framebuffer *rfb,
>> -                 struct drm_mode_fb_cmd2 *mode_cmd,
>> +                 const struct drm_mode_fb_cmd2 *mode_cmd,
>>                   struct drm_gem_object *obj);
>>   void qxl_display_read_client_monitors_config(struct qxl_device *qdev);
>>   void 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 c4a5526..11f543b 100644
>> --- a/drivers/gpu/drm/qxl/qxl_fb.c
>> +++ b/drivers/gpu/drm/qxl/qxl_fb.c
>> @@ -283,7 +283,7 @@ int qxl_get_handle_for_primary_fb(struct qxl_device 
>> *qdev,
>>   }
>>   
>>   static int qxlfb_create_pinned_object(struct qxl_fbdev *qfbdev,
>> -                                  struct drm_mode_fb_cmd2 *mode_cmd,
>> +                                  const struct drm_mode_fb_cmd2 *mode_cmd,
>>                                    struct drm_gem_object **gobj_p)
>>   {
>>      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 a8d9927..ded51fb 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 = {
>>   int
>>   radeon_framebuffer_init(struct drm_device *dev,
>>                      struct radeon_framebuffer *rfb,
>> -                    struct drm_mode_fb_cmd2 *mode_cmd,
>> +                    const struct drm_mode_fb_cmd2 *mode_cmd,
>>                      struct drm_gem_object *obj)
>>   {
>>      int ret;
>> @@ -1309,7 +1309,7 @@ radeon_framebuffer_init(struct drm_device *dev,
>>   static struct drm_framebuffer *
>>   radeon_user_framebuffer_create(struct drm_device *dev,
>>                             struct drm_file *file_priv,
>> -                           struct drm_mode_fb_cmd2 *mode_cmd)
>> +                           const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *obj;
>>      struct radeon_framebuffer *radeon_fb;
>> diff --git a/drivers/gpu/drm/radeon/radeon_mode.h 
>> b/drivers/gpu/drm/radeon/radeon_mode.h
>> index 830e171..b8e3c27 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
>>                                   u16 *blue, int regno);
>>   int radeon_framebuffer_init(struct drm_device *dev,
>>                           struct radeon_framebuffer *rfb,
>> -                         struct drm_mode_fb_cmd2 *mode_cmd,
>> +                         const struct drm_mode_fb_cmd2 *mode_cmd,
>>                           struct drm_gem_object *obj);
>>   
>>   int 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 ca12e8c..43bce69 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,
>>   
>>   static struct drm_framebuffer *
>>   rcar_du_fb_create(struct drm_device *dev, struct drm_file *file_priv,
>> -              struct drm_mode_fb_cmd2 *mode_cmd)
>> +              const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct rcar_du_device *rcdu = dev->dev_private;
>>      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 002645b..b8ac591 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 
>> = {
>>   };
>>   
>>   static struct rockchip_drm_fb *
>> -rockchip_fb_alloc(struct drm_device *dev, struct drm_mode_fb_cmd2 *mode_cmd,
>> +rockchip_fb_alloc(struct drm_device *dev, const struct drm_mode_fb_cmd2 
>> *mode_cmd,
>>                struct drm_gem_object **obj, unsigned int num_planes)
>>   {
>>      struct rockchip_drm_fb *rockchip_fb;
>> @@ -102,7 +102,7 @@ rockchip_fb_alloc(struct drm_device *dev, struct 
>> drm_mode_fb_cmd2 *mode_cmd,
>>   
>>   static struct drm_framebuffer *
>>   rockchip_user_fb_create(struct drm_device *dev, struct drm_file *file_priv,
>> -                    struct drm_mode_fb_cmd2 *mode_cmd)
>> +                    const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct rockchip_drm_fb *rockchip_fb;
>>      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 = {
>>   
>>   struct drm_framebuffer *
>>   rockchip_drm_framebuffer_init(struct drm_device *dev,
>> -                          struct drm_mode_fb_cmd2 *mode_cmd,
>> +                          const struct drm_mode_fb_cmd2 *mode_cmd,
>>                            struct drm_gem_object *obj)
>>   {
>>      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 09574d4..2fe47f1 100644
>> --- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.h
>> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.h
>> @@ -17,7 +17,7 @@
>>   
>>   struct drm_framebuffer *
>>   rockchip_drm_framebuffer_init(struct drm_device *dev,
>> -                          struct drm_mode_fb_cmd2 *mode_cmd,
>> +                          const struct drm_mode_fb_cmd2 *mode_cmd,
>>                            struct drm_gem_object *obj);
>>   void rockchip_drm_framebuffer_fini(struct drm_framebuffer *fb);
>>   
>> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_kms.c 
>> b/drivers/gpu/drm/shmobile/shmob_drm_kms.c
>> index aaf98ac..388a0fc 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)
>>   
>>   static struct drm_framebuffer *
>>   shmob_drm_fb_create(struct drm_device *dev, struct drm_file *file_priv,
>> -                struct drm_mode_fb_cmd2 *mode_cmd)
>> +                const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      const struct shmob_drm_format_info *format;
>>   
>> diff --git a/drivers/gpu/drm/tegra/drm.h b/drivers/gpu/drm/tegra/drm.h
>> index 942cad9..d88a2d1 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,
>>                      struct tegra_bo_tiling *tiling);
>>   struct drm_framebuffer *tegra_fb_create(struct drm_device *drm,
>>                                      struct drm_file *file,
>> -                                    struct drm_mode_fb_cmd2 *cmd);
>> +                                    const struct drm_mode_fb_cmd2 *cmd);
>>   int tegra_drm_fb_prepare(struct drm_device *drm);
>>   void tegra_drm_fb_free(struct drm_device *drm);
>>   int 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 bec07d9..ede9e94 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 = {
>>   };
>>   
>>   static struct tegra_fb *tegra_fb_alloc(struct drm_device *drm,
>> -                                   struct drm_mode_fb_cmd2 *mode_cmd,
>> +                                   const struct drm_mode_fb_cmd2 *mode_cmd,
>>                                     struct tegra_bo **planes,
>>                                     unsigned int num_planes)
>>   {
>> @@ -131,7 +131,7 @@ static struct tegra_fb *tegra_fb_alloc(struct drm_device 
>> *drm,
>>   
>>   struct drm_framebuffer *tegra_fb_create(struct drm_device *drm,
>>                                      struct drm_file *file,
>> -                                    struct drm_mode_fb_cmd2 *cmd)
>> +                                    const struct drm_mode_fb_cmd2 *cmd)
>>   {
>>      unsigned int hsub, vsub, i;
>>      struct tegra_bo *planes[4];
>> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c 
>> b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
>> index 876cad5..4ddb21e 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)
>>   static struct of_device_id tilcdc_of_match[];
>>   
>>   static struct drm_framebuffer *tilcdc_fb_create(struct drm_device *dev,
>> -            struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd)
>> +            struct drm_file *file_priv, const struct drm_mode_fb_cmd2 
>> *mode_cmd)
>>   {
>>      return drm_fb_cma_create(dev, file_priv, mode_cmd);
>>   }
>> diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h
>> index 80adbac..4a064ef 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);
>>   struct drm_framebuffer *
>>   udl_fb_user_fb_create(struct drm_device *dev,
>>                    struct drm_file *file,
>> -                  struct drm_mode_fb_cmd2 *mode_cmd);
>> +                  const struct drm_mode_fb_cmd2 *mode_cmd);
>>   
>>   int udl_render_hline(struct drm_device *dev, int bpp, struct urb **urb_ptr,
>>                   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 62c7b1d..f09b11a 100644
>> --- a/drivers/gpu/drm/udl/udl_fb.c
>> +++ b/drivers/gpu/drm/udl/udl_fb.c
>> @@ -456,7 +456,7 @@ static const struct drm_framebuffer_funcs udlfb_funcs = {
>>   static int
>>   udl_framebuffer_init(struct drm_device *dev,
>>                   struct udl_framebuffer *ufb,
>> -                 struct drm_mode_fb_cmd2 *mode_cmd,
>> +                 const struct drm_mode_fb_cmd2 *mode_cmd,
>>                   struct udl_gem_object *obj)
>>   {
>>      int ret;
>> @@ -624,7 +624,7 @@ void udl_fbdev_unplug(struct drm_device *dev)
>>   struct drm_framebuffer *
>>   udl_fb_user_fb_create(struct drm_device *dev,
>>                 struct drm_file *file,
>> -               struct drm_mode_fb_cmd2 *mode_cmd)
>> +               const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *obj;
>>      struct udl_framebuffer *ufb;
>> diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c 
>> b/drivers/gpu/drm/virtio/virtgpu_display.c
>> index f545913..306a7df 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 = {
>>   int
>>   virtio_gpu_framebuffer_init(struct drm_device *dev,
>>                          struct virtio_gpu_framebuffer *vgfb,
>> -                        struct drm_mode_fb_cmd2 *mode_cmd,
>> +                        const struct drm_mode_fb_cmd2 *mode_cmd,
>>                          struct drm_gem_object *obj)
>>   {
>>      int ret;
>> @@ -465,7 +465,7 @@ static int vgdev_output_init(struct virtio_gpu_device 
>> *vgdev, int index)
>>   static struct drm_framebuffer *
>>   virtio_gpu_user_framebuffer_create(struct drm_device *dev,
>>                                 struct drm_file *file_priv,
>> -                               struct drm_mode_fb_cmd2 *mode_cmd)
>> +                               const struct drm_mode_fb_cmd2 *mode_cmd)
>>   {
>>      struct drm_gem_object *obj = NULL;
>>      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 79f0abe..8f486f4 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);
>>   /* virtio_gpu_display.c */
>>   int virtio_gpu_framebuffer_init(struct drm_device *dev,
>>                              struct virtio_gpu_framebuffer *vgfb,
>> -                            struct drm_mode_fb_cmd2 *mode_cmd,
>> +                            const struct drm_mode_fb_cmd2 *mode_cmd,
>>                              struct drm_gem_object *obj);
>>   int virtio_gpu_modeset_init(struct virtio_gpu_device *vgdev);
>>   void 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 9fcd7f8..e38db351 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,
>>   
>>   static struct drm_framebuffer *vmw_kms_fb_create(struct drm_device *dev,
>>                                               struct drm_file *file_priv,
>> -                                             struct drm_mode_fb_cmd2 
>> *mode_cmd2)
>> +                                             const struct drm_mode_fb_cmd2 
>> *mode_cmd2)
>>   {
>>      struct vmw_private *dev_priv = vmw_priv(dev);
>>      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 3f0c690..bd27364 100644
>> --- a/include/drm/drm_crtc.h
>> +++ b/include/drm/drm_crtc.h
>> @@ -992,7 +992,7 @@ struct drm_mode_set {
>>   struct drm_mode_config_funcs {
>>      struct drm_framebuffer *(*fb_create)(struct drm_device *dev,
>>                                           struct drm_file *file_priv,
>> -                                         struct drm_mode_fb_cmd2 *mode_cmd);
>> +                                         const struct drm_mode_fb_cmd2 
>> *mode_cmd);
>>      void (*output_poll_changed)(struct drm_device *dev);
>>   
>>      int (*atomic_check)(struct drm_device *dev,
>> diff --git a/include/drm/drm_crtc_helper.h b/include/drm/drm_crtc_helper.h
>> index 3febb4b..e22ab29 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);
>>   extern void drm_helper_move_panel_connectors_to_head(struct drm_device *);
>>   
>>   extern void drm_helper_mode_fill_fb_struct(struct drm_framebuffer *fb,
>> -                                       struct drm_mode_fb_cmd2 *mode_cmd);
>> +                                       const struct drm_mode_fb_cmd2 
>> *mode_cmd);
>>   
>>   static inline void drm_crtc_helper_add(struct drm_crtc *crtc,
>>                                     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 c54cf3d..be62bd3 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);
>>   void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
>>   
>>   struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev,
>> -    struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd);
>> +    struct drm_file *file_priv, const struct drm_mode_fb_cmd2 *mode_cmd);
>>   
>>   struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer 
>> *fb,
>>      unsigned int plane);
>> -- 
>> 2.4.10
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to