drm: Pass the user drm_mode_fb_cmd2 as const to .fb_create()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 11 Nov 2015 17:11:29 +0000 (19:11 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 24 Nov 2015 10:47:38 +0000 (11:47 +0100)
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>
50 files changed:
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
drivers/gpu/drm/armada/armada_fb.c
drivers/gpu/drm/armada/armada_fb.h
drivers/gpu/drm/ast/ast_drv.h
drivers/gpu/drm/ast/ast_fb.c
drivers/gpu/drm/ast/ast_main.c
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c
drivers/gpu/drm/bochs/bochs.h
drivers/gpu/drm/bochs/bochs_fbdev.c
drivers/gpu/drm/bochs/bochs_mm.c
drivers/gpu/drm/cirrus/cirrus_drv.h
drivers/gpu/drm/cirrus/cirrus_fbdev.c
drivers/gpu/drm/cirrus/cirrus_main.c
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_crtc_helper.c
drivers/gpu/drm/drm_fb_cma_helper.c
drivers/gpu/drm/exynos/exynos_drm_fb.c
drivers/gpu/drm/exynos/exynos_drm_fb.h
drivers/gpu/drm/gma500/framebuffer.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/mgag200/mgag200_drv.h
drivers/gpu/drm/mgag200/mgag200_fb.c
drivers/gpu/drm/mgag200/mgag200_main.c
drivers/gpu/drm/msm/msm_drv.h
drivers/gpu/drm/msm/msm_fb.c
drivers/gpu/drm/nouveau/nouveau_display.c
drivers/gpu/drm/nouveau/nouveau_display.h
drivers/gpu/drm/omapdrm/omap_drv.h
drivers/gpu/drm/omapdrm/omap_fb.c
drivers/gpu/drm/qxl/qxl_display.c
drivers/gpu/drm/qxl/qxl_drv.h
drivers/gpu/drm/qxl/qxl_fb.c
drivers/gpu/drm/radeon/radeon_display.c
drivers/gpu/drm/radeon/radeon_mode.h
drivers/gpu/drm/rcar-du/rcar_du_kms.c
drivers/gpu/drm/rockchip/rockchip_drm_fb.c
drivers/gpu/drm/rockchip/rockchip_drm_fb.h
drivers/gpu/drm/shmobile/shmob_drm_kms.c
drivers/gpu/drm/tegra/drm.h
drivers/gpu/drm/tegra/fb.c
drivers/gpu/drm/tilcdc/tilcdc_drv.c
drivers/gpu/drm/udl/udl_drv.h
drivers/gpu/drm/udl/udl_fb.c
drivers/gpu/drm/virtio/virtgpu_display.c
drivers/gpu/drm/virtio/virtgpu_drv.h
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
include/drm/drm_crtc.h
include/drm/drm_crtc_helper.h
include/drm/drm_fb_cma_helper.h

index e173a5a02f0d8052bb6c76203b188b6cf231d787..7d5e0583c95c23b8a0d518e6326fa575e5577184 100644 (file)
@@ -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;
index b62c1710cab6b0fc00e33013ad741c97f9583ed2..de452996977816130a694ff783f445b3b194af4a 100644 (file)
@@ -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);
index 1c90969def3ee5bc9995a84c56c9d84fe7865085..5fa4bf20b232fcd860f827e5c561858df2bf7086 100644 (file)
@@ -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;
index ce3f12ebfc5347b9c4e281a17258e3cb91143fcf..48073c4f54d8d673bba030fa3893332a8eae93a2 100644 (file)
@@ -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
index 2e931eeba10569e201d75d9847d573e67b15ac5e..eb5715994ac26e7a2c0b5c4844ca55bdabee72bb 100644 (file)
@@ -308,7 +308,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);
index a37e7ea4a00cc4cca2773a5da1622dec08472c67..5320f8c57884567dd814aaac3ff595fde5f1425f 100644 (file)
@@ -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;
index 541a610667add983ed234bb9e7807ed90ffb75ce..9759009d1da367cd8b3f264671ea7942aa3ab79a 100644 (file)
@@ -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;
index 244df0a440b730a71ba0d21c3f746569b4b81b36..816895447155f7898a0c207545e74cef8dc0b9d5 100644 (file)
@@ -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);
 }
index 71f2687fc3ccc44fff4dd555cdfac7dd9f63d2b9..19b5adaebe24753d4fe8453eb57f866f788132bb 100644 (file)
@@ -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);
index 09a0637aab3e7e7379efb6ca6aa40329b8f361ad..7520bf81fc253387c00c1621cfa0e885ae5e6940 100644 (file)
@@ -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;
index f69e6bf9bb0e3cd295285f3fbf5ad72c49a3ed93..d812ad014da5c407476eb01246bdb9bd2474b2c1 100644 (file)
@@ -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;
index d772f7afafebcc638e6fd5429346e91b4ff5099e..b774d637a00f8a020bce2018c31dd42f69744b25 100644 (file)
@@ -206,7 +206,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,
index 589103bcc06c05951180711506110ba13b2cd2fc..3b5be7272357f3a4f415a83a009a924e1da68450 100644 (file)
@@ -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;
index 055fd86ba717d3283c71fbefe398b257ec8e1c20..0907715e90fdad228091e8c34efa3fcec58f7784 100644 (file)
@@ -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;
index 24c5434abd1c44e1040676220b84002fdce74ee9..32dd134700bd2acc7e53e6a7c63ec5e7354bc599 100644 (file)
@@ -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;
index ef534758a02c6f946061107aaa0262527c8a25fb..6b4cf25fed120f568f12a684f34c7084abc61487 100644 (file)
@@ -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;
 
index c19a62561183537046dc896254d09d4ac3a70b1e..b7d5b848d2f89a535e22b6ea9b7987e7e3b9bea8 100644 (file)
@@ -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];
index fcea28bdbc42095244f2f08a5bafbb82ef43eeda..49b9bc302e8765f9bf79091bc4a9e01a667c61cc 100644 (file)
@@ -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;
index 726a2d44371ff09ccd39060e482913cdd059f4ae..a8a75ac87e59271be73ca340bb739f05b397e7a6 100644 (file)
@@ -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);
 
index 2eaf1b31c7bd8c76d8d69d60a0dd43343466e9ec..dc0508dca1d49280f82bc222b56cbc31a72cd964 100644 (file)
@@ -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;
index 71860f8680f9fb95efae6ea310be6ef450d25e57..9f02a099872fdf3dbfd5ccdcb36a6d862ca17778 100644 (file)
@@ -14377,7 +14377,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_i915_gem_object *obj;
        struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd;
index 912151c36d59e239878c4e692089bcd5d085af4c..205b2801d3b8674932c7781b8a714ae193abe098 100644 (file)
@@ -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);
 
 
index b35b5b2db4ec30adc822d372d6c5cf2cf74969d0..d9b04b008feba8487b2765d1f1a5aaadeab7ff97 100644 (file)
@@ -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;
index b1a0f565617510d5797349004f1ee3dd63063042..9147444d5bf222470e5df21ce1d9e2c5687323e1 100644 (file)
@@ -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;
index 3be7a56b14f1d85c478cc802b69ea441ba2f498e..9a713b7a009ddad628f349b3561ca2e658ac8304 100644 (file)
@@ -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);
 
index 121713281417a92fc2270c7f907a082a1e0c4a87..a474d6cf5d9f5d28e5c451cca475f0e7429fc144 100644 (file)
@@ -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;
index db6bc676054519b08f3dbe6e45a23782362c9376..ea9d3bc912668e73e241dbd37ed300fc79121811 100644 (file)
@@ -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;
index 856abe0f070d0335b198d57b745c2fa247a5e7c6..5a57d8b472c4f181823a275bc09b17671b1b0057 100644 (file)
@@ -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;
index 5c367aad8a6e419f39b437813e0df168e4dfbc71..130fca70bfd7e6f7b123481ae863f5bd9ada2396 100644 (file)
@@ -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);
 
index 636a1f921569a55edcac211e2869dca9eaee7125..ad202dfc1a49f5759f4983cd3c119ba7ce67b143 100644 (file)
@@ -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;
index 183aea1abebc4afe5ad28f4694bc92ccc788ee8d..cddba079197f5e875744532ec8f9f156bd13d983 100644 (file)
@@ -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;
index 01a86948eb8cd6007a1db70785b714df9bc9cbb1..6e6b9b1519b8edd376fbed8341dbe99374dba8cf 100644 (file)
@@ -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);
index a97d16792bed9ff1cb01eff1143ad20159092d4e..7136e521e6dba7e3bc7f9671a580ab218d138e7a 100644 (file)
@@ -282,7 +282,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;
index a8d9927ed9eb9657d89e34c84481c9c9c9e3513f..ded51fbb8fa2f5d7cef29375dfed6c445292cad2 100644 (file)
@@ -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;
index 830e171c3a9e35c108f69acd2d4d45386033cd8b..b8e3c277a95bc04c245d0ac4f5ab4ce9f67d464c 100644 (file)
@@ -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);
index ca12e8ca5552b58610bb7cff68c93b60968153db..43bce69d85604e08ccc55b09cc1a4be4c0b5e5cb 100644 (file)
@@ -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;
index 002645bb5bbf9b83f30c0f383050c817d8e43dbc..b8ac5911c102626dce836729736417e9747ebbf9 100644 (file)
@@ -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;
index 09574d48226fcb4fc42b3c3d6118d9434267f67e..2fe47f1ee98fe226e0c893d333023a678d1995a1 100644 (file)
@@ -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);
 
index aaf98ace4a90cbf87512b35de190e27ddf22efd6..388a0fc13564c459926ba3acfc6b885f312839f3 100644 (file)
@@ -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;
 
index 942cad9b3ecb5abf5c5f4eee6bf89ec83efb983f..d88a2d18c1a43c641afe539b6d0e74ead664b04a 100644 (file)
@@ -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);
index bec07d934b3b2f10f9ca725e6c5eeaf1c7be1243..ede9e94f33120c2f397ac8b10498e0740d1340a6 100644 (file)
@@ -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];
index 876cad58b1f9ee1863d8de1bccf737b75b597ec6..4ddb21e7f52fe207bf2b034627b8bd09357b803c 100644 (file)
@@ -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);
 }
index 80adbac82bdedcfb99db9164575ffa6b8787a9f8..4a064efcea58718b2f6e9e45862f947d900d07a2 100644 (file)
@@ -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,
index b9df46efb62287966d56282632da20a0014a92a7..200419d4d43cf7fd475729b0fc10e97478359a76 100644 (file)
@@ -455,7 +455,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;
@@ -623,7 +623,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;
index f545913a56c7a972fe71dea32a20972f5440f5fb..306a7df7d01303f88b6fc288ae64a7fe4cecd9ba 100644 (file)
@@ -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;
index 79f0abe69b6476962e33d82c14745c25e9263693..8f486f4c70235d11891fefb0f17124c746c4cc1f 100644 (file)
@@ -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);
index 9fcd7f82995c3e1a517930cb8a89a23351c55c15..e38db35132ed0bbc00603041dbd51d12eaa769df 100644 (file)
@@ -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;
index f47cefa37ef37dd42aa2146ebafddc5044b5d7dd..173535a35d650c501b10997a2b75f8629a9116ed 100644 (file)
@@ -996,7 +996,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,
index 3febb4b9fce9243793fbaf3e8dbb331fe6adf81d..e22ab29d2d003a5c96fcd68f1bb85a66cddc3d1e 100644 (file)
@@ -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)
index c54cf3d4a03f0f744e83dbe93a7534620764a6f6..be62bd321e759a13b16441a00ebd877cd820b6b6 100644 (file)
@@ -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);