This patch adds a additional check in s3c_set_clksrc function to ensure
that the clksrc_clk does have a choice of multiple clock sources. In addition
to this, a check is added to ensure that a parent is assigned to the clksrc_clk 
in case it does not have a choice of parent clocks.

Signed-off-by: Thomas Abraham <[email protected]>
---
 arch/arm/plat-samsung/clock-clksrc.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/arch/arm/plat-samsung/clock-clksrc.c 
b/arch/arm/plat-samsung/clock-clksrc.c
index 33c633a..835921d 100644
--- a/arch/arm/plat-samsung/clock-clksrc.c
+++ b/arch/arm/plat-samsung/clock-clksrc.c
@@ -129,11 +129,16 @@ void __init_or_cpufreq s3c_set_clksrc(struct clksrc_clk 
*clk, bool announce)
 {
        struct clksrc_sources *srcs = clk->sources;
        u32 mask = bit_mask(clk->reg_src.shift, clk->reg_src.size);
-       u32 clksrc = 0;
-
-       if (clk->reg_src.reg)
-               clksrc = __raw_readl(clk->reg_src.reg);
+       u32 clksrc;
 
+       if (!clk->reg_src.reg) {
+               if (!clk->clk.parent)
+                      printk(KERN_ERR "%s: no parent clock specified\n",
+                               clk->clk.name);
+               return;         
+       }
+       
+       clksrc = __raw_readl(clk->reg_src.reg);
        clksrc &= mask;
        clksrc >>= clk->reg_src.shift;
 
-- 
1.6.3.3

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

Reply via email to