diff options
-rw-r--r-- | arch/sh/kernel/cpu/clock.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/sh/kernel/cpu/clock.c b/arch/sh/kernel/cpu/clock.c index 0eedf9392647..2ced20f870d1 100644 --- a/arch/sh/kernel/cpu/clock.c +++ b/arch/sh/kernel/cpu/clock.c | |||
@@ -103,7 +103,7 @@ void propagate_rate(struct clk *tclk) | |||
103 | struct clk *clkp; | 103 | struct clk *clkp; |
104 | 104 | ||
105 | list_for_each_entry(clkp, &tclk->children, sibling) { | 105 | list_for_each_entry(clkp, &tclk->children, sibling) { |
106 | if (clkp->ops->recalc) | 106 | if (clkp->ops && clkp->ops->recalc) |
107 | clkp->rate = clkp->ops->recalc(clkp); | 107 | clkp->rate = clkp->ops->recalc(clkp); |
108 | propagate_rate(clkp); | 108 | propagate_rate(clkp); |
109 | } | 109 | } |
@@ -196,7 +196,7 @@ void recalculate_root_clocks(void) | |||
196 | struct clk *clkp; | 196 | struct clk *clkp; |
197 | 197 | ||
198 | list_for_each_entry(clkp, &root_clks, sibling) { | 198 | list_for_each_entry(clkp, &root_clks, sibling) { |
199 | if (clkp->ops->recalc) | 199 | if (clkp->ops && clkp->ops->recalc) |
200 | clkp->rate = clkp->ops->recalc(clkp); | 200 | clkp->rate = clkp->ops->recalc(clkp); |
201 | propagate_rate(clkp); | 201 | propagate_rate(clkp); |
202 | } | 202 | } |
@@ -224,7 +224,7 @@ int clk_register(struct clk *clk) | |||
224 | list_add(&clk->sibling, &root_clks); | 224 | list_add(&clk->sibling, &root_clks); |
225 | 225 | ||
226 | list_add(&clk->node, &clock_list); | 226 | list_add(&clk->node, &clock_list); |
227 | if (clk->ops->init) | 227 | if (clk->ops && clk->ops->init) |
228 | clk->ops->init(clk); | 228 | clk->ops->init(clk); |
229 | mutex_unlock(&clock_list_sem); | 229 | mutex_unlock(&clock_list_sem); |
230 | 230 | ||