aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Turquette <mturquette@linaro.org>2014-01-14 14:41:26 -0500
committerMike Turquette <mturquette@linaro.org>2014-01-14 14:41:26 -0500
commit119754e57609113818f1226925046bfd54d6dc53 (patch)
tree988dc5d248718b4b3eee702b8aa40bad35c37f8e
parentbaa39cd20ece9705e7e42015a1c7a898a36c31c8 (diff)
parent209f4fedcfdeeecfc9e87c045990230cc2162169 (diff)
Merge branch 'clk-next-shmobile' into clk-next
-rw-r--r--drivers/clk/shmobile/clk-mstp.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/clk/shmobile/clk-mstp.c b/drivers/clk/shmobile/clk-mstp.c
index e576b60de20e..42d5912b1d25 100644
--- a/drivers/clk/shmobile/clk-mstp.c
+++ b/drivers/clk/shmobile/clk-mstp.c
@@ -160,7 +160,7 @@ static void __init cpg_mstp_clocks_init(struct device_node *np)
160 unsigned int i; 160 unsigned int i;
161 161
162 group = kzalloc(sizeof(*group), GFP_KERNEL); 162 group = kzalloc(sizeof(*group), GFP_KERNEL);
163 clks = kzalloc(MSTP_MAX_CLOCKS * sizeof(*clks), GFP_KERNEL); 163 clks = kmalloc(MSTP_MAX_CLOCKS * sizeof(*clks), GFP_KERNEL);
164 if (group == NULL || clks == NULL) { 164 if (group == NULL || clks == NULL) {
165 kfree(group); 165 kfree(group);
166 kfree(clks); 166 kfree(clks);
@@ -181,6 +181,9 @@ static void __init cpg_mstp_clocks_init(struct device_node *np)
181 return; 181 return;
182 } 182 }
183 183
184 for (i = 0; i < MSTP_MAX_CLOCKS; ++i)
185 clks[i] = ERR_PTR(-ENOENT);
186
184 for (i = 0; i < MSTP_MAX_CLOCKS; ++i) { 187 for (i = 0; i < MSTP_MAX_CLOCKS; ++i) {
185 const char *parent_name; 188 const char *parent_name;
186 const char *name; 189 const char *name;
@@ -205,10 +208,11 @@ static void __init cpg_mstp_clocks_init(struct device_node *np)
205 continue; 208 continue;
206 } 209 }
207 210
208 clks[clkidx] = cpg_mstp_clock_register(name, parent_name, i, 211 clks[clkidx] = cpg_mstp_clock_register(name, parent_name,
209 group); 212 clkidx, group);
210 if (!IS_ERR(clks[clkidx])) { 213 if (!IS_ERR(clks[clkidx])) {
211 group->data.clk_num = max(group->data.clk_num, clkidx); 214 group->data.clk_num = max(group->data.clk_num,
215 clkidx + 1);
212 /* 216 /*
213 * Register a clkdev to let board code retrieve the 217 * Register a clkdev to let board code retrieve the
214 * clock by name and register aliases for non-DT 218 * clock by name and register aliases for non-DT