[Intel-gfx] [PATCH 2/2] drm: Pass the user drm_mode_fb_cmd2 as const to .fb_create()

John Harrison John.C.Harrison at Intel.com
Tue Nov 17 05:30:34 PST 2015


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



More information about the dri-devel mailing list