The exynos_drm_hdmi_pdata struct have owned unnessary members. Remove
them and add a function pointer to configure hdmi hotplug detection pin.

Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
---
 drivers/gpu/drm/exynos/exynos_hdmi.c |   13 ++++++-------
 include/drm/exynos_drm.h             |   12 +++++-------
 2 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c 
b/drivers/gpu/drm/exynos/exynos_hdmi.c
index b003538..7365cc6 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -57,12 +57,9 @@ struct hdmi_resources {
 struct hdmi_context {
        struct device                   *dev;
        struct drm_device               *drm_dev;
-       struct fb_videomode             *default_timing;
-       unsigned int                    is_v13:1;
-       unsigned int                    default_win;
-       unsigned int                    default_bpp;
        bool                            hpd_handle;
        bool                            enabled;
+       bool                            is_v13;

        struct resource                 *regs_res;
        void __iomem                    *regs;
@@ -78,6 +75,9 @@ struct hdmi_context {

        struct hdmi_resources           res;
        void                            *parent_ctx;
+
+       void                            (*cfg_hpd)(bool external);
+       int                             (*get_hpd)(void);
 };

 /* HDMI Version 1.3 */
@@ -2243,9 +2243,8 @@ static int __devinit hdmi_probe(struct platform_device 
*pdev)
        platform_set_drvdata(pdev, drm_hdmi_ctx);

        hdata->is_v13 = pdata->is_v13;
-       hdata->default_win = pdata->default_win;
-       hdata->default_timing = &pdata->timing;
-       hdata->default_bpp = pdata->bpp;
+       hdata->cfg_hpd = pdata->cfg_hpd;
+       hdata->get_hpd = pdata->get_hpd;
        hdata->dev = dev;

        ret = hdmi_resources_init(hdata);
diff --git a/include/drm/exynos_drm.h b/include/drm/exynos_drm.h
index e478de4..1fb3122 100644
--- a/include/drm/exynos_drm.h
+++ b/include/drm/exynos_drm.h
@@ -169,16 +169,14 @@ struct exynos_drm_common_hdmi_pd {
 /**
  * Platform Specific Structure for DRM based HDMI core.
  *
- * @timing: default video mode for initializing
- * @default_win: default window layer number to be used for UI.
- * @bpp: default bit per pixel.
  * @is_v13: set if hdmi version 13 is.
+ * @cfg_hpd: function pointer to configure hdmi hotplug detection pin
+ * @get_hpd: function pointer to get value of hdmi hotplug detection pin
  */
 struct exynos_drm_hdmi_pdata {
-       struct fb_videomode             timing;
-       unsigned int                    default_win;
-       unsigned int                    bpp;
-       unsigned int                    is_v13:1;
+       bool is_v13;
+       void (*cfg_hpd)(bool external);
+       int (*get_hpd)(void);
 };

 #endif /* __KERNEL__ */
-- 
1.7.5.4

Reply via email to