提交 6cf27275 编写于 作者: G Gustavo Padovan 提交者: Inki Dae

drm/exynos: fold encoder setup into exynos_drm_load()

As we are removing the exynos encoder move the encoder setup operation
directly inside the exynos_drm_load()
Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: NInki Dae <inki.dae@samsung.com>
上级 a2986e80
......@@ -41,7 +41,9 @@
static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
{
struct exynos_drm_private *private;
int ret;
struct drm_encoder *encoder;
unsigned int clone_mask;
int cnt, ret;
private = kzalloc(sizeof(struct exynos_drm_private), GFP_KERNEL);
if (!private)
......@@ -67,7 +69,13 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
exynos_drm_mode_config_init(dev);
/* setup possible_clones. */
exynos_drm_encoder_setup(dev);
cnt = 0;
clone_mask = 0;
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 = clone_mask;
platform_set_drvdata(dev->platformdev, dev);
......
......@@ -78,19 +78,6 @@ static struct drm_encoder_funcs exynos_encoder_funcs = {
.destroy = drm_encoder_cleanup,
};
void exynos_drm_encoder_setup(struct drm_device *dev)
{
struct drm_encoder *encoder;
unsigned int clone_mask = 0;
int cnt = 0;
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 = clone_mask;
}
int exynos_drm_encoder_create(struct drm_device *dev,
struct exynos_drm_encoder *exynos_encoder,
enum exynos_drm_output_type type)
......
......@@ -16,7 +16,6 @@
#include "exynos_drm_drv.h"
void exynos_drm_encoder_setup(struct drm_device *dev);
int exynos_drm_encoder_create(struct drm_device *dev, struct exynos_drm_encoder
*encoder, enum exynos_drm_output_type type);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册