|
@@ -559,6 +559,19 @@ struct clk *__clk_get_parent(struct clk *clk)
|
|
|
return !clk ? NULL : clk->parent;
|
|
|
}
|
|
|
|
|
|
+struct clk *clk_get_parent_by_index(struct clk *clk, u8 index)
|
|
|
+{
|
|
|
+ if (!clk || index >= clk->num_parents)
|
|
|
+ return NULL;
|
|
|
+ else if (!clk->parents)
|
|
|
+ return __clk_lookup(clk->parent_names[index]);
|
|
|
+ else if (!clk->parents[index])
|
|
|
+ return clk->parents[index] =
|
|
|
+ __clk_lookup(clk->parent_names[index]);
|
|
|
+ else
|
|
|
+ return clk->parents[index];
|
|
|
+}
|
|
|
+
|
|
|
unsigned int __clk_get_enable_count(struct clk *clk)
|
|
|
{
|
|
|
return !clk ? 0 : clk->enable_count;
|
|
@@ -1316,13 +1329,7 @@ static struct clk *__clk_init_parent(struct clk *clk)
|
|
|
kzalloc((sizeof(struct clk*) * clk->num_parents),
|
|
|
GFP_KERNEL);
|
|
|
|
|
|
- if (!clk->parents)
|
|
|
- ret = __clk_lookup(clk->parent_names[index]);
|
|
|
- else if (!clk->parents[index])
|
|
|
- ret = clk->parents[index] =
|
|
|
- __clk_lookup(clk->parent_names[index]);
|
|
|
- else
|
|
|
- ret = clk->parents[index];
|
|
|
+ ret = clk_get_parent_by_index(clk, index);
|
|
|
|
|
|
out:
|
|
|
return ret;
|