On Fri, Mar 30, 2018 at 03:11:19PM +0100, Daniel Stone wrote: > Now that rockchip_drm_fb is just a wrapper around drm_framebuffer, we > can remove it. > > Signed-off-by: Daniel Stone <daniels@xxxxxxxxxxxxx> Reviewed-by: Sean Paul <seanpaul@xxxxxxxxxxxx> > Cc: Sandy Huang <hjc@xxxxxxxxxxxxxx> > Cc: Heiko Stübner <heiko@xxxxxxxxx> > --- > drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 54 ++++++++++------------------- > drivers/gpu/drm/rockchip/rockchip_drm_fb.h | 3 -- > drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 4 +-- > 3 files changed, 21 insertions(+), 40 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c > index d7083c07c294..a4d0a00abcd9 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c > @@ -25,21 +25,6 @@ > #include "rockchip_drm_gem.h" > #include "rockchip_drm_psr.h" > > -#define to_rockchip_fb(x) container_of(x, struct rockchip_drm_fb, fb) > - > -struct rockchip_drm_fb { > - struct drm_framebuffer fb; > -}; > - > -struct drm_gem_object *rockchip_fb_get_gem_obj(struct drm_framebuffer *fb, > - unsigned int plane) > -{ > - if (plane >= ROCKCHIP_MAX_FB_BUFFER) > - return NULL; > - > - return fb->obj[plane]; > -} > - > static int rockchip_drm_fb_dirty(struct drm_framebuffer *fb, > struct drm_file *file, > unsigned int flags, unsigned int color, > @@ -56,41 +41,40 @@ static const struct drm_framebuffer_funcs rockchip_drm_fb_funcs = { > .dirty = rockchip_drm_fb_dirty, > }; > > -static struct rockchip_drm_fb * > +static struct drm_framebuffer * > 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; > + struct drm_framebuffer *fb; > int ret; > int i; > > - rockchip_fb = kzalloc(sizeof(*rockchip_fb), GFP_KERNEL); > - if (!rockchip_fb) > + fb = kzalloc(sizeof(*fb), GFP_KERNEL); > + if (!fb) > return ERR_PTR(-ENOMEM); > > - drm_helper_mode_fill_fb_struct(dev, &rockchip_fb->fb, mode_cmd); > + drm_helper_mode_fill_fb_struct(dev, fb, mode_cmd); > > for (i = 0; i < num_planes; i++) > - rockchip_fb->fb.obj[i] = obj[i]; > + fb->obj[i] = obj[i]; > > - ret = drm_framebuffer_init(dev, &rockchip_fb->fb, > - &rockchip_drm_fb_funcs); > + ret = drm_framebuffer_init(dev, fb, &rockchip_drm_fb_funcs); > if (ret) { > DRM_DEV_ERROR(dev->dev, > "Failed to initialize framebuffer: %d\n", > ret); > - kfree(rockchip_fb); > + kfree(fb); > return ERR_PTR(ret); > } > > - return rockchip_fb; > + return fb; > } > > static struct drm_framebuffer * > rockchip_user_fb_create(struct drm_device *dev, struct drm_file *file_priv, > const struct drm_mode_fb_cmd2 *mode_cmd) > { > - struct rockchip_drm_fb *rockchip_fb; > + struct drm_framebuffer *fb; > struct drm_gem_object *objs[ROCKCHIP_MAX_FB_BUFFER]; > struct drm_gem_object *obj; > unsigned int hsub; > @@ -129,13 +113,13 @@ rockchip_user_fb_create(struct drm_device *dev, struct drm_file *file_priv, > objs[i] = obj; > } > > - rockchip_fb = rockchip_fb_alloc(dev, mode_cmd, objs, i); > - if (IS_ERR(rockchip_fb)) { > - ret = PTR_ERR(rockchip_fb); > + fb = rockchip_fb_alloc(dev, mode_cmd, objs, i); > + if (IS_ERR(fb)) { > + ret = PTR_ERR(fb); > goto err_gem_object_unreference; > } > > - return &rockchip_fb->fb; > + return fb; > > err_gem_object_unreference: > for (i--; i >= 0; i--) > @@ -159,13 +143,13 @@ rockchip_drm_framebuffer_init(struct drm_device *dev, > const struct drm_mode_fb_cmd2 *mode_cmd, > struct drm_gem_object *obj) > { > - struct rockchip_drm_fb *rockchip_fb; > + struct drm_framebuffer *fb; > > - rockchip_fb = rockchip_fb_alloc(dev, mode_cmd, &obj, 1); > - if (IS_ERR(rockchip_fb)) > - return ERR_CAST(rockchip_fb); > + fb = rockchip_fb_alloc(dev, mode_cmd, &obj, 1); > + if (IS_ERR(fb)) > + return ERR_CAST(fb); > > - return &rockchip_fb->fb; > + return fb; > } > > void rockchip_drm_mode_config_init(struct drm_device *dev) > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.h b/drivers/gpu/drm/rockchip/rockchip_drm_fb.h > index 2fe47f1ee98f..f1265cb1aee8 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.h > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.h > @@ -22,7 +22,4 @@ rockchip_drm_framebuffer_init(struct drm_device *dev, > void rockchip_drm_framebuffer_fini(struct drm_framebuffer *fb); > > void rockchip_drm_mode_config_init(struct drm_device *dev); > - > -struct drm_gem_object *rockchip_fb_get_gem_obj(struct drm_framebuffer *fb, > - unsigned int plane); > #endif /* _ROCKCHIP_DRM_FB_H */ > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c > index 53d4afe15278..43d191d42087 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c > @@ -724,7 +724,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane, > return; > } > > - obj = rockchip_fb_get_gem_obj(fb, 0); > + obj = fb->obj[0]; > rk_obj = to_rockchip_obj(obj); > > actual_w = drm_rect_width(src) >> 16; > @@ -754,7 +754,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane, > int vsub = drm_format_vert_chroma_subsampling(fb->format->format); > int bpp = fb->format->cpp[1]; > > - uv_obj = rockchip_fb_get_gem_obj(fb, 1); > + uv_obj = fb->obj[1]; > rk_uv_obj = to_rockchip_obj(uv_obj); > > offset = (src->x1 >> 16) * bpp / hsub; > -- > 2.16.2 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Sean Paul, Software Engineer, Google / Chromium OS _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel