123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- From df2373ca941741f3f66750241a048ad4e2ff2c91 Mon Sep 17 00:00:00 2001
- From: Zhao Qiang <qiang.zhao@nxp.com>
- Date: Thu, 24 Nov 2016 11:47:45 +0800
- Subject: [PATCH 236/238] clk: add API of clks
- Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
- ---
- drivers/clk/clk.c | 19 +++++++++++++++++++
- include/linux/clk-provider.h | 1 +
- include/linux/clk.h | 9 +++++++++
- 3 files changed, 29 insertions(+)
- --- a/drivers/clk/clk.c
- +++ b/drivers/clk/clk.c
- @@ -359,6 +359,19 @@ static struct clk_core *clk_core_get_par
- return core->parents[index];
- }
-
- +struct clk *clk_get_parent_by_index(struct clk *clk, u8 index)
- +{
- + struct clk_core *parent;
- +
- + if (!clk)
- + return NULL;
- +
- + parent = clk_core_get_parent_by_index(clk->core, index);
- +
- + return !parent ? NULL : parent->hw->clk;
- +}
- +EXPORT_SYMBOL_GPL(clk_get_parent_by_index);
- +
- struct clk_hw *
- clk_hw_get_parent_by_index(const struct clk_hw *hw, unsigned int index)
- {
- @@ -2036,6 +2049,12 @@ static const struct file_operations clk_
- .release = single_release,
- };
-
- +unsigned int clk_get_num_parents(struct clk *clk)
- +{
- + return !clk ? 0 : clk->core->num_parents;
- +}
- +EXPORT_SYMBOL_GPL(clk_get_num_parents);
- +
- static void clk_dump_one(struct seq_file *s, struct clk_core *c, int level)
- {
- if (!c)
- --- a/include/linux/clk-provider.h
- +++ b/include/linux/clk-provider.h
- @@ -656,6 +656,7 @@ unsigned int clk_hw_get_num_parents(cons
- struct clk_hw *clk_hw_get_parent(const struct clk_hw *hw);
- struct clk_hw *clk_hw_get_parent_by_index(const struct clk_hw *hw,
- unsigned int index);
- +struct clk *clk_get_parent_by_index(struct clk *clk, u8 index);
- unsigned int __clk_get_enable_count(struct clk *clk);
- unsigned long clk_hw_get_rate(const struct clk_hw *hw);
- unsigned long __clk_get_flags(struct clk *clk);
- --- a/include/linux/clk.h
- +++ b/include/linux/clk.h
- @@ -392,6 +392,15 @@ int clk_set_parent(struct clk *clk, stru
- struct clk *clk_get_parent(struct clk *clk);
-
- /**
- + * clk_get_num_parents - get number of possible parents
- + * @clk: clock source
- + *
- + * Returns the number of possible parents of this clock,
- + * which can then be enumerated using clk_get_parent_by_index().
- + */
- +unsigned int clk_get_num_parents(struct clk *clk);
- +
- +/**
- * clk_get_sys - get a clock based upon the device name
- * @dev_id: device name
- * @con_id: connection ID
|