video: exynos_dp: Remove callbacks from the driver

Replaced the functionality of callbacks by using a standard set of functions.
Instead of implementing and hooking up a callback, put the same code in one of
the standard set of functions by overriding it.

Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
Ajay Kumar 2013-02-21 23:52:58 +00:00 committed by Minkyu Kang
parent 29fd57046e
commit c18222bee8
3 changed files with 12 additions and 4 deletions

View File

@ -199,7 +199,6 @@ enum {
struct exynos_dp_platform_data {
struct edp_device_info *edp_dev_info;
void (*phy_enable)(unsigned int);
};
#ifdef CONFIG_EXYNOS_DP

View File

@ -503,6 +503,11 @@ vidinfo_t panel_info = {
.dp_enabled = 1,
};
void exynos_set_dp_phy(unsigned int onoff)
{
set_dp_phy_ctrl(onoff);
}
static struct edp_device_info edp_info = {
.disp_info = {
.h_res = 2560,
@ -533,7 +538,6 @@ static struct edp_device_info edp_info = {
};
static struct exynos_dp_platform_data dp_platform_data = {
.phy_enable = set_dp_phy_ctrl,
.edp_dev_info = &edp_info,
};

View File

@ -32,6 +32,12 @@
static struct exynos_dp_platform_data *dp_pd;
void __exynos_set_dp_phy(unsigned int onoff)
{
}
void exynos_set_dp_phy(unsigned int onoff)
__attribute__((weak, alias("__exynos_set_dp_phy")));
static void exynos_dp_disp_info(struct edp_disp_info *disp_info)
{
disp_info->h_total = disp_info->h_res + disp_info->h_sync_width +
@ -872,8 +878,7 @@ unsigned int exynos_init_dp(void)
exynos_dp_disp_info(&edp_info->disp_info);
if (dp_pd->phy_enable)
dp_pd->phy_enable(1);
exynos_set_dp_phy(1);
ret = exynos_dp_init_dp();
if (ret != EXYNOS_DP_SUCCESS) {