summaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2
diff options
context:
space:
mode:
authorTaneja, Archit <archit@ti.com>2011-03-08 05:50:34 -0600
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-03-11 15:46:30 +0200
commit66534e8e936a0b926863df90054dc59826d70528 (patch)
treeb00e7998a08b47a7b1250086194e9bf95367dfa5 /drivers/video/omap2
parent7b12d7b66bac4ff51aeea0029734b7a921cbe817 (diff)
downloadop-kernel-dev-66534e8e936a0b926863df90054dc59826d70528.zip
op-kernel-dev-66534e8e936a0b926863df90054dc59826d70528.tar.gz
OMAP2PLUS: DSS2: Cleanup clock source related code
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>
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r--drivers/video/omap2/dss/dispc.c15
-rw-r--r--drivers/video/omap2/dss/dss.c32
-rw-r--r--drivers/video/omap2/dss/dss.h5
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..28b690f 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)
{
}
OpenPOWER on IntegriCloud