]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
OMAP2PLUS: DSS2: Cleanup clock source related code
authorTaneja, Archit <archit@ti.com>
Tue, 8 Mar 2011 11:50:34 +0000 (05:50 -0600)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 11 Mar 2011 13:46:30 +0000 (15:46 +0200)
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 <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dispc.c
drivers/video/omap2/dss/dss.c
drivers/video/omap2/dss/dss.h

index 4a368c47700e95265de17da50f0f7cd263112cc9..28b690f2447f599f8210c68641cd3e581369d4cd 100644 (file)
@@ -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;
 }
 
index 2be4d03ece437f1e1bb7886cdac8ad095dfef280..93813fd626be26d722936f81a50ff0698cf01bc0 100644 (file)
@@ -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 */
 
index 85d4141689c144cdbd195435cb18b3a60efdb8f1..fc41b3f0c27e43195ee250816fe34524587f3192 100644 (file)
@@ -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)
 {
 }