Commit c2c25c1c authored by Daniel Vetter's avatar Daniel Vetter

drm/aspeed: Use managed drmm_mode_config_cleanup

Since aspeed doesn't use devm_kzalloc anymore we can use the managed
mode config cleanup.

v2: Keep call order as suggested by Sam.
Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Cc: Joel Stanley <joel@jms.id.au>
Cc: Andrew Jeffery <andrew@aj.id.au>
Cc: linux-aspeed@lists.ozlabs.org
Cc: linux-arm-kernel@lists.infradead.org
Link: https://patchwork.freedesktop.org/patch/msgid/20200904143941.110665-4-daniel.vetter@ffwll.ch
parent dad75a52
...@@ -63,15 +63,21 @@ static const struct drm_mode_config_funcs aspeed_gfx_mode_config_funcs = { ...@@ -63,15 +63,21 @@ static const struct drm_mode_config_funcs aspeed_gfx_mode_config_funcs = {
.atomic_commit = drm_atomic_helper_commit, .atomic_commit = drm_atomic_helper_commit,
}; };
static void aspeed_gfx_setup_mode_config(struct drm_device *drm) static int aspeed_gfx_setup_mode_config(struct drm_device *drm)
{ {
drm_mode_config_init(drm); int ret;
ret = drmm_mode_config_init(drm);
if (ret)
return ret;
drm->mode_config.min_width = 0; drm->mode_config.min_width = 0;
drm->mode_config.min_height = 0; drm->mode_config.min_height = 0;
drm->mode_config.max_width = 800; drm->mode_config.max_width = 800;
drm->mode_config.max_height = 600; drm->mode_config.max_height = 600;
drm->mode_config.funcs = &aspeed_gfx_mode_config_funcs; drm->mode_config.funcs = &aspeed_gfx_mode_config_funcs;
return ret;
} }
static irqreturn_t aspeed_gfx_irq_handler(int irq, void *data) static irqreturn_t aspeed_gfx_irq_handler(int irq, void *data)
...@@ -144,7 +150,9 @@ static int aspeed_gfx_load(struct drm_device *drm) ...@@ -144,7 +150,9 @@ static int aspeed_gfx_load(struct drm_device *drm)
writel(0, priv->base + CRT_CTRL1); writel(0, priv->base + CRT_CTRL1);
writel(0, priv->base + CRT_CTRL2); writel(0, priv->base + CRT_CTRL2);
aspeed_gfx_setup_mode_config(drm); ret = aspeed_gfx_setup_mode_config(drm);
if (ret < 0)
return ret;
ret = drm_vblank_init(drm, 1); ret = drm_vblank_init(drm, 1);
if (ret < 0) { if (ret < 0) {
...@@ -179,7 +187,6 @@ static int aspeed_gfx_load(struct drm_device *drm) ...@@ -179,7 +187,6 @@ static int aspeed_gfx_load(struct drm_device *drm)
static void aspeed_gfx_unload(struct drm_device *drm) static void aspeed_gfx_unload(struct drm_device *drm)
{ {
drm_kms_helper_poll_fini(drm); drm_kms_helper_poll_fini(drm);
drm_mode_config_cleanup(drm);
} }
DEFINE_DRM_GEM_CMA_FOPS(fops); DEFINE_DRM_GEM_CMA_FOPS(fops);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment