sci_clk
struct sci_clk *clk = to_sci_clk(hw);
struct sci_clk *clk = to_sci_clk(hw);
struct sci_clk *clk = to_sci_clk(hw);
struct sci_clk *clk = to_sci_clk(hw);
struct sci_clk *clk = to_sci_clk(hw);
struct sci_clk *clk = to_sci_clk(hw);
struct sci_clk *sci_clk)
name = kasprintf(GFP_KERNEL, "clk:%d:%d", sci_clk->dev_id,
sci_clk->clk_id);
if (sci_clk->num_parents < 2)
sci_clk->num_parents = 0;
if (sci_clk->num_parents) {
parent_names = kcalloc(sci_clk->num_parents, sizeof(char *),
for (i = 0; i < sci_clk->num_parents; i++) {
sci_clk->dev_id,
sci_clk->clk_id + 1 + i);
init.num_parents = sci_clk->num_parents;
sci_clk->hw.init = &init;
ret = devm_clk_hw_register(provider->dev, &sci_clk->hw);
for (i = 0; i < sci_clk->num_parents; i++)
struct sci_clk **clocks;
const struct sci_clk *ca = a;
const struct sci_clk *cb = *(struct sci_clk **)b;
struct sci_clk **clk;
struct sci_clk key;
struct sci_clk **clks = NULL;
struct sci_clk **tmp_clks;
struct sci_clk *sci_clk;
sizeof(sci_clk),
memcpy(tmp_clks, clks, max_clks * sizeof(sci_clk));
sci_clk = devm_kzalloc(dev, sizeof(*sci_clk), GFP_KERNEL);
if (!sci_clk)
sci_clk->dev_id = dev_id;
sci_clk->clk_id = clk_id;
sci_clk->provider = provider;
sci_clk->num_parents = num_parents;
clks[num_clks] = sci_clk;
provider->clocks = devm_kmemdup_array(dev, clks, num_clks, sizeof(sci_clk), GFP_KERNEL);
const struct sci_clk *ca = container_of(a, struct sci_clk, node);
const struct sci_clk *cb = container_of(b, struct sci_clk, node);
struct sci_clk *sci_clk, *prev;
sci_clk = devm_kzalloc(dev, sizeof(*sci_clk),
if (!sci_clk)
sci_clk->dev_id = args.args[0];
sci_clk->clk_id = args.args[1];
sci_clk->provider = provider;
sci_clk->dev_id,
sci_clk->clk_id,
(void *)&sci_clk->num_parents);
list_add_tail(&sci_clk->node, &clks);
num_parents = sci_clk->num_parents;
sci_clk->dev_id,
sci_clk->clk_id, num_parents);
sci_clk->dev_id, clk_id, &state);
sci_clk = devm_kzalloc(dev,
sizeof(*sci_clk),
if (!sci_clk)
sci_clk->dev_id = args.args[0];
sci_clk->clk_id = clk_id++;
sci_clk->provider = provider;
list_add_tail(&sci_clk->node, &clks);
provider->clocks = devm_kmalloc_array(dev, num_clks, sizeof(sci_clk),
list_for_each_entry(sci_clk, &clks, node) {
if (prev && prev->dev_id == sci_clk->dev_id &&
prev->clk_id == sci_clk->clk_id)
provider->clocks[num_clks++] = sci_clk;
#define to_sci_clk(_hw) container_of(_hw, struct sci_clk, hw)
prev = sci_clk;
struct sci_clk *clk = to_sci_clk(hw);
struct sci_clk *clk = to_sci_clk(hw);