drm: exynos: use crtc helper drm_crtc_from_index()
Use drm_crtc_from_index() to find drm_crtc for given index, so that we do not need to maintain a pointer array in struct exynos_drm_private. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Cc: Inki Dae <inki.dae@samsung.com> Signed-off-by: Sean Paul <seanpaul@chromium.org> Link: http://patchwork.freedesktop.org/patch/msgid/1483961145-18453-2-git-send-email-shawnguo@kernel.org
This commit is contained in:
		
							parent
							
								
									01f8c951c2
								
							
						
					
					
						commit
						a3c764e988
					
				| @ -109,9 +109,6 @@ static const struct drm_crtc_helper_funcs exynos_crtc_helper_funcs = { | ||||
| static void exynos_drm_crtc_destroy(struct drm_crtc *crtc) | ||||
| { | ||||
| 	struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); | ||||
| 	struct exynos_drm_private *private = crtc->dev->dev_private; | ||||
| 
 | ||||
| 	private->crtc[exynos_crtc->pipe] = NULL; | ||||
| 
 | ||||
| 	drm_crtc_cleanup(crtc); | ||||
| 	kfree(exynos_crtc); | ||||
| @ -134,7 +131,6 @@ struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev, | ||||
| 					void *ctx) | ||||
| { | ||||
| 	struct exynos_drm_crtc *exynos_crtc; | ||||
| 	struct exynos_drm_private *private = drm_dev->dev_private; | ||||
| 	struct drm_crtc *crtc; | ||||
| 	int ret; | ||||
| 
 | ||||
| @ -149,8 +145,6 @@ struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev, | ||||
| 
 | ||||
| 	crtc = &exynos_crtc->base; | ||||
| 
 | ||||
| 	private->crtc[pipe] = crtc; | ||||
| 
 | ||||
| 	ret = drm_crtc_init_with_planes(drm_dev, crtc, plane, NULL, | ||||
| 					&exynos_crtc_funcs, NULL); | ||||
| 	if (ret < 0) | ||||
|  | ||||
| @ -211,12 +211,6 @@ struct drm_exynos_file_private { | ||||
| struct exynos_drm_private { | ||||
| 	struct drm_fb_helper *fb_helper; | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * created crtc object would be contained at this array and | ||||
| 	 * this array is used to be aware of which crtc did it request vblank. | ||||
| 	 */ | ||||
| 	struct drm_crtc *crtc[MAX_CRTC]; | ||||
| 
 | ||||
| 	struct device *dma_dev; | ||||
| 	void *mapping; | ||||
| 
 | ||||
| @ -231,9 +225,9 @@ struct exynos_drm_private { | ||||
| static inline struct exynos_drm_crtc * | ||||
| exynos_drm_crtc_from_pipe(struct drm_device *dev, int pipe) | ||||
| { | ||||
| 	struct exynos_drm_private *private = dev->dev_private; | ||||
| 	struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe); | ||||
| 
 | ||||
| 	return to_exynos_crtc(private->crtc[pipe]); | ||||
| 	return to_exynos_crtc(crtc); | ||||
| } | ||||
| 
 | ||||
| static inline struct device *to_dma_dev(struct drm_device *dev) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user