diff options
author | Ajay Kumar <ajaykumar.rs@samsung.com> | 2013-02-21 23:52:58 +0000 |
---|---|---|
committer | Minkyu Kang <mk7.kang@samsung.com> | 2013-03-27 21:17:15 +0900 |
commit | c18222bee868ae65a878165551d3d407c402f48c (patch) | |
tree | 03617b93a08f9778e49db432aa484e69700f9a2e | |
parent | 29fd57046e3c33c5d75eb2e7e6607cdf49e162ac (diff) | |
download | u-boot-imx-c18222bee868ae65a878165551d3d407c402f48c.zip u-boot-imx-c18222bee868ae65a878165551d3d407c402f48c.tar.gz u-boot-imx-c18222bee868ae65a878165551d3d407c402f48c.tar.bz2 |
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>
-rw-r--r-- | arch/arm/include/asm/arch-exynos/dp_info.h | 1 | ||||
-rw-r--r-- | board/samsung/smdk5250/smdk5250.c | 6 | ||||
-rw-r--r-- | drivers/video/exynos_dp.c | 9 |
3 files changed, 12 insertions, 4 deletions
diff --git a/arch/arm/include/asm/arch-exynos/dp_info.h b/arch/arm/include/asm/arch-exynos/dp_info.h index 102b709..ff16361 100644 --- a/arch/arm/include/asm/arch-exynos/dp_info.h +++ b/arch/arm/include/asm/arch-exynos/dp_info.h @@ -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 diff --git a/board/samsung/smdk5250/smdk5250.c b/board/samsung/smdk5250/smdk5250.c index 9f467db..f45e485 100644 --- a/board/samsung/smdk5250/smdk5250.c +++ b/board/samsung/smdk5250/smdk5250.c @@ -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, }; diff --git a/drivers/video/exynos_dp.c b/drivers/video/exynos_dp.c index d72fa56..b2accc7 100644 --- a/drivers/video/exynos_dp.c +++ b/drivers/video/exynos_dp.c @@ -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) { |