diff options
author | Tero Kristo <t-kristo@ti.com> | 2016-09-29 12:06:40 +0300 |
---|---|---|
committer | Tero Kristo <t-kristo@ti.com> | 2017-03-08 12:58:18 +0200 |
commit | 1ae79c46cf195ea39407bd5a2b234304d537980f (patch) | |
tree | c54b41385bc0fcd1faf55a98851ac765bf65cf9e /drivers/clk/ti/clk.c | |
parent | c17435c56bb1feb7365ebffcfbe98baae50a0fb4 (diff) | |
download | linux-1ae79c46cf195ea39407bd5a2b234304d537980f.tar.gz linux-1ae79c46cf195ea39407bd5a2b234304d537980f.tar.bz2 linux-1ae79c46cf195ea39407bd5a2b234304d537980f.zip |
clk: ti: use automatic clock alias generation framework
Generate clock aliases automatically for all TI clock drivers.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'drivers/clk/ti/clk.c')
-rw-r--r-- | drivers/clk/ti/clk.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/clk/ti/clk.c b/drivers/clk/ti/clk.c index 193862ed27c7..024123f421d6 100644 --- a/drivers/clk/ti/clk.c +++ b/drivers/clk/ti/clk.c @@ -298,6 +298,7 @@ struct clk __init *ti_clk_register_clk(struct ti_clk *setup) struct ti_clk_fixed *fixed; struct ti_clk_fixed_factor *fixed_factor; struct clk_hw *clk_hw; + int ret; if (setup->clk) return setup->clk; @@ -308,6 +309,13 @@ struct clk __init *ti_clk_register_clk(struct ti_clk *setup) clk = clk_register_fixed_rate(NULL, setup->name, NULL, 0, fixed->frequency); + if (!IS_ERR(clk)) { + ret = ti_clk_add_alias(NULL, clk, setup->name); + if (ret) { + clk_unregister(clk); + clk = ERR_PTR(ret); + } + } break; case TI_CLK_MUX: clk = ti_clk_register_mux(setup); @@ -325,6 +333,13 @@ struct clk __init *ti_clk_register_clk(struct ti_clk *setup) fixed_factor->parent, 0, fixed_factor->mult, fixed_factor->div); + if (!IS_ERR(clk)) { + ret = ti_clk_add_alias(NULL, clk, setup->name); + if (ret) { + clk_unregister(clk); + clk = ERR_PTR(ret); + } + } break; case TI_CLK_GATE: clk = ti_clk_register_gate(setup); @@ -378,9 +393,6 @@ int __init ti_clk_register_legacy_clks(struct ti_clk_alias *clks) clks->clk->name, PTR_ERR(clk)); return PTR_ERR(clk); } - } else { - clks->lk.clk = clk; - clkdev_add(&clks->lk); } clks++; } @@ -403,8 +415,6 @@ int __init ti_clk_register_legacy_clks(struct ti_clk_alias *clks) } } else { retry = true; - retry_clk->lk.clk = clk; - clkdev_add(&retry_clk->lk); list_del(&retry_clk->link); } } |