Clean up some of the DSS functions which select/get clock sources, use switch
to select the clock source members since more clock sources will be introduced
later on.

Remove the use of macro CONFIG_OMAP2_DSS_DSI in dispc_fclk_rate, use a dummy
inline for function for dsi_get_pll_hsdiv_dispc_rate() instead for code clarity.

Signed-off-by: Archit Taneja <[email protected]>
---
 drivers/video/omap2/dss/dispc.c |   15 +++++++++------
 drivers/video/omap2/dss/dss.c   |   32 ++++++++++++++++++++------------
 drivers/video/omap2/dss/dss.h   |    5 +++++
 3 files changed, 34 insertions(+), 18 deletions(-)

diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index 4a368c4..b66df40 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -2341,14 +2341,17 @@ unsigned long dispc_fclk_rate(void)
 {
        unsigned long r = 0;
 
-       if (dss_get_dispc_clk_source() == DSS_CLK_SRC_FCK)
+       switch (dss_get_dispc_clk_source()) {
+       case DSS_CLK_SRC_FCK:
                r = dss_clk_get_rate(DSS_CLK_FCK);
-       else
-#ifdef CONFIG_OMAP2_DSS_DSI
+               break;
+       case DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC:
                r = dsi_get_pll_hsdiv_dispc_rate();
-#else
-       BUG();
-#endif
+               break;
+       default:
+               BUG();
+       }
+
        return r;
 }
 
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index 2be4d03..93813fd 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -293,13 +293,17 @@ void dss_select_dispc_clk_source(enum dss_clk_source 
clk_src)
 {
        int b;
 
-       BUG_ON(clk_src != DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC &&
-                       clk_src != DSS_CLK_SRC_FCK);
-
-       b = clk_src == DSS_CLK_SRC_FCK ? 0 : 1;
-
-       if (clk_src == DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC)
+       switch (clk_src) {
+       case DSS_CLK_SRC_FCK:
+               b = 0;
+               break;
+       case DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC:
+               b = 1;
                dsi_wait_pll_hsdiv_dispc_active();
+               break;
+       default:
+               BUG();
+       }
 
        REG_FLD_MOD(DSS_CONTROL, b, 0, 0);      /* DISPC_CLK_SWITCH */
 
@@ -310,13 +314,17 @@ void dss_select_dsi_clk_source(enum dss_clk_source 
clk_src)
 {
        int b;
 
-       BUG_ON(clk_src != DSS_CLK_SRC_DSI_PLL_HSDIV_DSI &&
-                       clk_src != DSS_CLK_SRC_FCK);
-
-       b = clk_src == DSS_CLK_SRC_FCK ? 0 : 1;
-
-       if (clk_src == DSS_CLK_SRC_DSI_PLL_HSDIV_DSI)
+       switch (clk_src) {
+       case DSS_CLK_SRC_FCK:
+               b = 0;
+               break;
+       case DSS_CLK_SRC_DSI_PLL_HSDIV_DSI:
+               b = 1;
                dsi_wait_pll_hsdiv_dsi_active();
+               break;
+       default:
+               BUG();
+       }
 
        REG_FLD_MOD(DSS_CONTROL, b, 1, 1);      /* DSI_CLK_SWITCH */
 
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index 85d4141..fc41b3f 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -299,6 +299,11 @@ static inline int dsi_init_platform_driver(void)
 static inline void dsi_uninit_platform_driver(void)
 {
 }
+static inline unsigned long dsi_get_pll_hsdiv_dispc_rate(void)
+{
+       WARN("%s: DSI not compiled in, returning rate as 0\n", __func__);
+       return 0;
+}
 static inline void dsi_wait_pll_hsdiv_dispc_active(void)
 {
 }
-- 
1.7.1

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

Reply via email to