drm: Pass the user drm_mode_fb_cmd2 as const to .fb_create()
Drivers shouldn't clobber the passed in addfb ioctl parameters. i915 was doing just that. To prevent it from happening again, pass the struct around as const, starting all the way from internal_framebuffer_create(). Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:

committed by
Daniel Vetter

parent
cc344980c7
commit
1eb83451ba
@@ -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);
|
||||
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user