drm/exynos: simplify calculation of possible CRTCs
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>
Wed, 5 Aug 2015 23:24:15 +0000 (20:24 -0300)
committerInki Dae <inki.dae@samsung.com>
Sun, 16 Aug 2015 01:23:36 +0000 (10:23 +0900)
All CRTCs can only be LCD, HDMI or VIDI, so basically all CRTCs will be a
possible CRTCs. This patch removes an extra function with switch that was
only checking if the CRTC type was one of those three above.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_encoder.c

index 0aa4a58c912c1e38f3d36a8bfb10b81952542437..7ba3a2d17ed56a5c6696d6cd36766715f58228ff 100644 (file)
@@ -105,36 +105,17 @@ static struct drm_encoder_funcs exynos_encoder_funcs = {
        .destroy = exynos_drm_encoder_destroy,
 };
 
-static unsigned int exynos_drm_encoder_clones(struct drm_encoder *encoder)
+void exynos_drm_encoder_setup(struct drm_device *dev)
 {
-       struct drm_encoder *clone;
-       struct drm_device *dev = encoder->dev;
-       struct exynos_drm_encoder *exynos_encoder = to_exynos_encoder(encoder);
-       struct exynos_drm_display *display = exynos_encoder->display;
+       struct drm_encoder *encoder;
        unsigned int clone_mask = 0;
        int cnt = 0;
 
-       list_for_each_entry(clone, &dev->mode_config.encoder_list, head) {
-               switch (display->type) {
-               case EXYNOS_DISPLAY_TYPE_LCD:
-               case EXYNOS_DISPLAY_TYPE_HDMI:
-               case EXYNOS_DISPLAY_TYPE_VIDI:
-                       clone_mask |= (1 << (cnt++));
-                       break;
-               default:
-                       continue;
-               }
-       }
-
-       return clone_mask;
-}
-
-void exynos_drm_encoder_setup(struct drm_device *dev)
-{
-       struct drm_encoder *encoder;
+       list_for_each_entry(encoder, &dev->mode_config.encoder_list, head)
+               clone_mask |= (1 << (cnt++));
 
        list_for_each_entry(encoder, &dev->mode_config.encoder_list, head)
-               encoder->possible_clones = exynos_drm_encoder_clones(encoder);
+               encoder->possible_clones = clone_mask;
 }
 
 struct drm_encoder *