Unify the private anonymous struct in hdmi4.c and hdmi5.c, name it as
struct omap_hdmi, and make it public in hdmi.h.

Signed-off-by: Jyri Sarha <jsa...@ti.com>
---
 drivers/video/fbdev/omap2/dss/hdmi.h  |   21 +++++++++++++++++++++
 drivers/video/fbdev/omap2/dss/hdmi4.c |   31 ++++++++-----------------------
 drivers/video/fbdev/omap2/dss/hdmi5.c |   20 ++------------------
 3 files changed, 31 insertions(+), 41 deletions(-)

diff --git a/drivers/video/fbdev/omap2/dss/hdmi.h 
b/drivers/video/fbdev/omap2/dss/hdmi.h
index 9ba7c1a..6bf077b 100644
--- a/drivers/video/fbdev/omap2/dss/hdmi.h
+++ b/drivers/video/fbdev/omap2/dss/hdmi.h
@@ -349,4 +349,25 @@ static inline bool hdmi_mode_has_audio(int mode)
 {
        return mode == HDMI_HDMI ? true : false;
 }
+
+/* HDMI DRV data */
+struct omap_hdmi {
+       struct mutex lock;
+       struct platform_device *pdev;
+
+       struct hdmi_wp_data     wp;
+       struct hdmi_pll_data    pll;
+       struct hdmi_phy_data    phy;
+       struct hdmi_core_data   core;
+
+       struct hdmi_config cfg;
+
+       struct clk *sys_clk;
+       struct regulator *vdda_reg;
+
+       bool core_enabled;
+
+       struct omap_dss_device output;
+};
+
 #endif
diff --git a/drivers/video/fbdev/omap2/dss/hdmi4.c 
b/drivers/video/fbdev/omap2/dss/hdmi4.c
index 6a8550c..b98186e 100644
--- a/drivers/video/fbdev/omap2/dss/hdmi4.c
+++ b/drivers/video/fbdev/omap2/dss/hdmi4.c
@@ -37,25 +37,9 @@
 #include "hdmi4_core.h"
 #include "dss.h"
 #include "dss_features.h"
+#include "hdmi.h"
 
-static struct {
-       struct mutex lock;
-       struct platform_device *pdev;
-
-       struct hdmi_wp_data     wp;
-       struct hdmi_pll_data    pll;
-       struct hdmi_phy_data    phy;
-       struct hdmi_core_data   core;
-
-       struct hdmi_config cfg;
-
-       struct clk *sys_clk;
-       struct regulator *vdda_hdmi_dac_reg;
-
-       bool core_enabled;
-
-       struct omap_dss_device output;
-} hdmi;
+static struct omap_hdmi hdmi;
 
 static int hdmi_runtime_get(void)
 {
@@ -117,7 +101,7 @@ static int hdmi_init_regulator(void)
        int r;
        struct regulator *reg;
 
-       if (hdmi.vdda_hdmi_dac_reg != NULL)
+       if (hdmi.vdda_reg != NULL)
                return 0;
 
        reg = devm_regulator_get(&hdmi.pdev->dev, "vdda");
@@ -137,7 +121,7 @@ static int hdmi_init_regulator(void)
                }
        }
 
-       hdmi.vdda_hdmi_dac_reg = reg;
+       hdmi.vdda_reg = reg;
 
        return 0;
 }
@@ -146,7 +130,7 @@ static int hdmi_power_on_core(struct omap_dss_device 
*dssdev)
 {
        int r;
 
-       r = regulator_enable(hdmi.vdda_hdmi_dac_reg);
+       r = regulator_enable(hdmi.vdda_reg);
        if (r)
                return r;
 
@@ -162,7 +146,7 @@ static int hdmi_power_on_core(struct omap_dss_device 
*dssdev)
        return 0;
 
 err_runtime_get:
-       regulator_disable(hdmi.vdda_hdmi_dac_reg);
+       regulator_disable(hdmi.vdda_reg);
 
        return r;
 }
@@ -172,7 +156,7 @@ static void hdmi_power_off_core(struct omap_dss_device 
*dssdev)
        hdmi.core_enabled = false;
 
        hdmi_runtime_put();
-       regulator_disable(hdmi.vdda_hdmi_dac_reg);
+       regulator_disable(hdmi.vdda_reg);
 }
 
 static int hdmi_power_on_full(struct omap_dss_device *dssdev)
@@ -678,6 +662,7 @@ static int omapdss_hdmihw_probe(struct platform_device 
*pdev)
        int irq;
 
        hdmi.pdev = pdev;
+       dev_set_drvdata(&pdev->dev, &hdmi);
 
        mutex_init(&hdmi.lock);
 
diff --git a/drivers/video/fbdev/omap2/dss/hdmi5.c 
b/drivers/video/fbdev/omap2/dss/hdmi5.c
index 32d02ec..90410f5 100644
--- a/drivers/video/fbdev/omap2/dss/hdmi5.c
+++ b/drivers/video/fbdev/omap2/dss/hdmi5.c
@@ -43,24 +43,7 @@
 #include "dss.h"
 #include "dss_features.h"
 
-static struct {
-       struct mutex lock;
-       struct platform_device *pdev;
-
-       struct hdmi_wp_data     wp;
-       struct hdmi_pll_data    pll;
-       struct hdmi_phy_data    phy;
-       struct hdmi_core_data   core;
-
-       struct hdmi_config cfg;
-
-       struct clk *sys_clk;
-       struct regulator *vdda_reg;
-
-       bool core_enabled;
-
-       struct omap_dss_device output;
-} hdmi;
+static struct omap_hdmi hdmi;
 
 static int hdmi_runtime_get(void)
 {
@@ -703,6 +686,7 @@ static int omapdss_hdmihw_probe(struct platform_device 
*pdev)
        int irq;
 
        hdmi.pdev = pdev;
+       dev_set_drvdata(&pdev->dev, &hdmi);
 
        mutex_init(&hdmi.lock);
 
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to