mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 02:53:36 +02:00
drm: renesas: shmobile: Use drmm_universal_plane_alloc()
According to the comments for drm_universal_plane_init(), the plane structure should not be allocated with devm_kzalloc(). Fix lifetime issues by using drmm_universal_plane_alloc() instead. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/65ebf0513e2836227a9636e922f51c668bd69720.1694767209.git.geert+renesas@glider.be
This commit is contained in:
parent
33505f7718
commit
3d77d2ac7d
|
|
@ -179,7 +179,6 @@ static int shmob_drm_plane_disable(struct drm_plane *plane,
|
|||
static const struct drm_plane_funcs shmob_drm_plane_funcs = {
|
||||
.update_plane = shmob_drm_plane_update,
|
||||
.disable_plane = shmob_drm_plane_disable,
|
||||
.destroy = drm_plane_cleanup,
|
||||
};
|
||||
|
||||
static const uint32_t formats[] = {
|
||||
|
|
@ -198,19 +197,16 @@ static const uint32_t formats[] = {
|
|||
int shmob_drm_plane_create(struct shmob_drm_device *sdev, unsigned int index)
|
||||
{
|
||||
struct shmob_drm_plane *splane;
|
||||
int ret;
|
||||
|
||||
splane = devm_kzalloc(sdev->dev, sizeof(*splane), GFP_KERNEL);
|
||||
if (splane == NULL)
|
||||
return -ENOMEM;
|
||||
splane = drmm_universal_plane_alloc(sdev->ddev, struct shmob_drm_plane,
|
||||
plane, 1, &shmob_drm_plane_funcs,
|
||||
formats, ARRAY_SIZE(formats), NULL,
|
||||
DRM_PLANE_TYPE_OVERLAY, NULL);
|
||||
if (IS_ERR(splane))
|
||||
return PTR_ERR(splane);
|
||||
|
||||
splane->index = index;
|
||||
splane->alpha = 255;
|
||||
|
||||
ret = drm_universal_plane_init(sdev->ddev, &splane->plane, 1,
|
||||
&shmob_drm_plane_funcs,
|
||||
formats, ARRAY_SIZE(formats), NULL,
|
||||
DRM_PLANE_TYPE_OVERLAY, NULL);
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user