diff options
Diffstat (limited to 'arch/sh')
| -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 0eedf939264..2ced20f870d 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 | ||
