path: root/drivers/clk/ux500/clk-sysctrl.c
diff options
authorLinus Torvalds <torvalds@linux-foundation.org>2013-06-01 19:55:26 +0900
committerLinus Torvalds <torvalds@linux-foundation.org>2013-06-01 19:55:26 +0900
commit0f7dafd44e2de131f67fca87378e30ca86bc00d5 (patch)
treeaf28ce75d6e09bb09c89aa1dc01bff341d5f7bfa /drivers/clk/ux500/clk-sysctrl.c
parentc361cb59acbb503c033971e8be8c029bbfd67f18 (diff)
parentd68c380590c390a488fe214e5ebf9439216ac3ba (diff)
Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux
Pull clock subsystem fixes from Mike Turquette: "A mix of small fixes affecting mostly ARM platforms as well as a discrete clock expander chip. Most fixes are corrections to lousy clock data of one form or another." * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux: clk: mxs: Include clk mxs header file clk: vt8500: Fix unbalanced spinlock in vt8500_dclk_set_rate() clk: si5351: Set initial clkout rate when defined in platform data. clk: si5351: Fix clkout rate computation. clk: samsung: Add CLK_IGNORE_UNUSED flag for the sysreg clocks clk: ux500: clk-sysctrl: handle clocks with no parents clk: ux500: Provide device enumeration number suffix for SMSC911x
Diffstat (limited to 'drivers/clk/ux500/clk-sysctrl.c')
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/clk/ux500/clk-sysctrl.c b/drivers/clk/ux500/clk-sysctrl.c
index bc7e9bde792..e364c9d4aa6 100644
--- a/drivers/clk/ux500/clk-sysctrl.c
+++ b/drivers/clk/ux500/clk-sysctrl.c
@@ -145,7 +145,13 @@ static struct clk *clk_reg_sysctrl(struct device *dev,
return ERR_PTR(-ENOMEM);
- for (i = 0; i < num_parents; i++) {
+ /* set main clock registers */
+ clk->reg_sel[0] = reg_sel[0];
+ clk->reg_bits[0] = reg_bits[0];
+ clk->reg_mask[0] = reg_mask[0];
+ /* handle clocks with more than one parent */
+ for (i = 1; i < num_parents; i++) {
clk->reg_sel[i] = reg_sel[i];
clk->reg_bits[i] = reg_bits[i];
clk->reg_mask[i] = reg_mask[i];