diff options
-rw-r--r-- | arch/arm/plat-samsung/clock-clksrc.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/plat-samsung/clock-clksrc.c b/arch/arm/plat-samsung/clock-clksrc.c index 33c633a8be8d..98c6b8859f49 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) | |||
129 | { | 129 | { |
130 | struct clksrc_sources *srcs = clk->sources; | 130 | struct clksrc_sources *srcs = clk->sources; |
131 | u32 mask = bit_mask(clk->reg_src.shift, clk->reg_src.size); | 131 | u32 mask = bit_mask(clk->reg_src.shift, clk->reg_src.size); |
132 | u32 clksrc = 0; | 132 | u32 clksrc; |
133 | 133 | ||
134 | if (clk->reg_src.reg) | 134 | if (!clk->reg_src.reg) { |
135 | clksrc = __raw_readl(clk->reg_src.reg); | 135 | if (!clk->clk.parent) |
136 | printk(KERN_ERR "%s: no parent clock specified\n", | ||
137 | clk->clk.name); | ||
138 | return; | ||
139 | } | ||
136 | 140 | ||
141 | clksrc = __raw_readl(clk->reg_src.reg); | ||
137 | clksrc &= mask; | 142 | clksrc &= mask; |
138 | clksrc >>= clk->reg_src.shift; | 143 | clksrc >>= clk->reg_src.shift; |
139 | 144 | ||