drm/msm: Remove struct msm_fbdev

Remove struct msm_fbdev, which is an empty wrapper around struct
drm_fb_helper. Use the latter directly. No functional changes.

v2:
	* kfree fbdev helper instance on init errors (Dmitri)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/530554/
Link: https://lore.kernel.org/r/20230403124538.8497-5-tzimmermann@suse.de
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
This commit is contained in:
Thomas Zimmermann 2023-04-03 14:45:34 +02:00 committed by Dmitry Baryshkov
parent 0c8d263957
commit b0b3d253eb

View File

@ -18,12 +18,6 @@
* fbdev funcs, to implement legacy fbdev interface on top of drm driver
*/
#define to_msm_fbdev(x) container_of(x, struct msm_fbdev, base)
struct msm_fbdev {
struct drm_fb_helper base;
};
static int msm_fbdev_mmap(struct fb_info *info, struct vm_area_struct *vma)
{
struct drm_fb_helper *helper = (struct drm_fb_helper *)info->par;
@ -129,16 +123,13 @@ static const struct drm_fb_helper_funcs msm_fb_helper_funcs = {
struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev)
{
struct msm_drm_private *priv = dev->dev_private;
struct msm_fbdev *fbdev;
struct drm_fb_helper *helper;
int ret;
fbdev = kzalloc(sizeof(*fbdev), GFP_KERNEL);
if (!fbdev)
helper = kzalloc(sizeof(*helper), GFP_KERNEL);
if (!helper)
return NULL;
helper = &fbdev->base;
drm_fb_helper_prepare(dev, helper, 32, &msm_fb_helper_funcs);
ret = drm_fb_helper_init(dev, helper);
@ -159,7 +150,7 @@ fini:
drm_fb_helper_fini(helper);
fail:
drm_fb_helper_unprepare(helper);
kfree(fbdev);
kfree(helper);
return NULL;
}
@ -168,7 +159,6 @@ void msm_fbdev_free(struct drm_device *dev)
struct msm_drm_private *priv = dev->dev_private;
struct drm_fb_helper *helper = priv->fbdev;
struct drm_framebuffer *fb = helper->fb;
struct msm_fbdev *fbdev;
DBG();
@ -176,8 +166,6 @@ void msm_fbdev_free(struct drm_device *dev)
drm_fb_helper_fini(helper);
fbdev = to_msm_fbdev(priv->fbdev);
/* this will free the backing object */
if (fb) {
struct drm_gem_object *bo = msm_framebuffer_bo(fb, 0);
@ -186,7 +174,7 @@ void msm_fbdev_free(struct drm_device *dev)
}
drm_fb_helper_unprepare(helper);
kfree(fbdev);
kfree(helper);
priv->fbdev = NULL;
}