Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/exynos: remove drm_dev from struct exynos_drm_manager

manager-drm_dev is only accessed by exynos_drm_crtc_create() so this patch
pass drm_dev as argument on exynos_drm_crtc_create() and remove it from
struct exynos_drm_manager.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>

authored by

Gustavo Padovan and committed by
Inki Dae
eb88e422 5d1741ad

+13 -12
+5 -4
drivers/gpu/drm/exynos/exynos_drm_crtc.c
··· 299 299 drm_object_attach_property(&crtc->base, prop, 0); 300 300 } 301 301 302 - int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe, 302 + int exynos_drm_crtc_create(struct exynos_drm_manager *manager, 303 + struct drm_device *drm_dev, int pipe, 303 304 enum exynos_drm_output_type type) 304 305 { 305 306 struct exynos_drm_crtc *exynos_crtc; 306 307 struct drm_plane *plane; 307 - struct exynos_drm_private *private = manager->drm_dev->dev_private; 308 + struct exynos_drm_private *private = drm_dev->dev_private; 308 309 struct drm_crtc *crtc; 309 310 int ret; 310 311 ··· 320 319 exynos_crtc->manager = manager; 321 320 exynos_crtc->pipe = pipe; 322 321 exynos_crtc->type = type; 323 - plane = exynos_plane_init(manager->drm_dev, 1 << pipe, 322 + plane = exynos_plane_init(drm_dev, 1 << pipe, 324 323 DRM_PLANE_TYPE_PRIMARY); 325 324 if (IS_ERR(plane)) { 326 325 ret = PTR_ERR(plane); ··· 332 331 333 332 private->crtc[pipe] = crtc; 334 333 335 - ret = drm_crtc_init_with_planes(manager->drm_dev, crtc, plane, NULL, 334 + ret = drm_crtc_init_with_planes(drm_dev, crtc, plane, NULL, 336 335 &exynos_crtc_funcs); 337 336 if (ret < 0) 338 337 goto err_crtc;
+2 -1
drivers/gpu/drm/exynos/exynos_drm_crtc.h
··· 17 17 18 18 #include "exynos_drm_drv.h" 19 19 20 - int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe, 20 + int exynos_drm_crtc_create(struct exynos_drm_manager *manager, 21 + struct drm_device *drm_dev, int pipe, 21 22 enum exynos_drm_output_type type); 22 23 int exynos_drm_crtc_enable_vblank(struct drm_device *dev, int pipe); 23 24 void exynos_drm_crtc_disable_vblank(struct drm_device *dev, int pipe);
-1
drivers/gpu/drm/exynos/exynos_drm_drv.h
··· 211 211 */ 212 212 struct exynos_drm_manager { 213 213 struct list_head list; 214 - struct drm_device *drm_dev; 215 214 struct drm_crtc *crtc; 216 215 struct exynos_drm_manager_ops *ops; 217 216 };
+2 -2
drivers/gpu/drm/exynos/exynos_drm_fimd.c
··· 298 298 struct exynos_drm_private *priv; 299 299 priv = drm_dev->dev_private; 300 300 301 - mgr->drm_dev = ctx->drm_dev = drm_dev; 301 + ctx->drm_dev = drm_dev; 302 302 ctx->pipe = priv->pipe++; 303 303 304 304 /* attach this sub driver to iommu mapping if supported. */ ··· 1076 1076 struct drm_device *drm_dev = data; 1077 1077 1078 1078 fimd_mgr_initialize(&ctx->manager, drm_dev); 1079 - exynos_drm_crtc_create(&ctx->manager, ctx->pipe, 1079 + exynos_drm_crtc_create(&ctx->manager, drm_dev, ctx->pipe, 1080 1080 EXYNOS_DISPLAY_TYPE_LCD); 1081 1081 if (ctx->display) 1082 1082 exynos_drm_create_enc_conn(drm_dev, ctx->display);
+2 -2
drivers/gpu/drm/exynos/exynos_drm_vidi.c
··· 301 301 struct vidi_context *ctx = manager_to_vidi(mgr); 302 302 struct exynos_drm_private *priv = drm_dev->dev_private; 303 303 304 - mgr->drm_dev = ctx->drm_dev = drm_dev; 304 + ctx->drm_dev = drm_dev; 305 305 ctx->pipe = priv->pipe++; 306 306 307 307 return 0; ··· 558 558 559 559 vidi_mgr_initialize(&ctx->manager, drm_dev); 560 560 561 - ret = exynos_drm_crtc_create(&ctx->manager, ctx->pipe, 561 + ret = exynos_drm_crtc_create(&ctx->manager, drm_dev, ctx->pipe, 562 562 EXYNOS_DISPLAY_TYPE_VIDI); 563 563 if (ret) { 564 564 DRM_ERROR("failed to create crtc.\n");
+2 -2
drivers/gpu/drm/exynos/exynos_mixer.c
··· 862 862 struct exynos_drm_private *priv; 863 863 priv = drm_dev->dev_private; 864 864 865 - mgr->drm_dev = mixer_ctx->drm_dev = drm_dev; 865 + mixer_ctx->drm_dev = drm_dev; 866 866 mixer_ctx->pipe = priv->pipe++; 867 867 868 868 /* acquire resources: regs, irqs, clocks */ ··· 1261 1261 if (ret) 1262 1262 return ret; 1263 1263 1264 - ret = exynos_drm_crtc_create(&ctx->manager, ctx->pipe, 1264 + ret = exynos_drm_crtc_create(&ctx->manager, drm_dev, ctx->pipe, 1265 1265 EXYNOS_DISPLAY_TYPE_HDMI); 1266 1266 if (ret) { 1267 1267 mixer_mgr_remove(&ctx->manager);