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:
parent
0c8d263957
commit
b0b3d253eb
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user