diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2014-04-22 09:11:42 -0400 |
---|---|---|
committer | Mike Turquette <mturquette@linaro.org> | 2014-05-12 20:08:33 -0400 |
commit | 54e73016dd217be915ed83353d296f2a133d1ad5 (patch) | |
tree | c8b83281415528d75a32842d1062780cc216d3ee /include/linux/clk-provider.h | |
parent | 725b418b43d2ddcb94b413cd25c74c1175d1c5f0 (diff) |
clk: Improve clk_ops documentation
General:
- Add parameter names to .round_rate() and .set_rate().
Documentation/clk.txt:
- Add missing parameter for .set_rate(),
- Add missing .debug_init().
include/linux/clk-provider.h:
- Add parent rate documentation for .round_rate(),
- Reorder documentation to match implementation order,
- Add missing documentation for .init().
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Diffstat (limited to 'include/linux/clk-provider.h')
-rw-r--r-- | include/linux/clk-provider.h | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 397f98505bd4..40809431641e 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h | |||
@@ -81,12 +81,20 @@ struct dentry; | |||
81 | * this op is not set then clock rate will be initialized to 0. | 81 | * this op is not set then clock rate will be initialized to 0. |
82 | * | 82 | * |
83 | * @round_rate: Given a target rate as input, returns the closest rate actually | 83 | * @round_rate: Given a target rate as input, returns the closest rate actually |
84 | * supported by the clock. | 84 | * supported by the clock. The parent rate is an input/output |
85 | * parameter. | ||
85 | * | 86 | * |
86 | * @determine_rate: Given a target rate as input, returns the closest rate | 87 | * @determine_rate: Given a target rate as input, returns the closest rate |
87 | * actually supported by the clock, and optionally the parent clock | 88 | * actually supported by the clock, and optionally the parent clock |
88 | * that should be used to provide the clock rate. | 89 | * that should be used to provide the clock rate. |
89 | * | 90 | * |
91 | * @set_parent: Change the input source of this clock; for clocks with multiple | ||
92 | * possible parents specify a new parent by passing in the index | ||
93 | * as a u8 corresponding to the parent in either the .parent_names | ||
94 | * or .parents arrays. This function in affect translates an | ||
95 | * array index into the value programmed into the hardware. | ||
96 | * Returns 0 on success, -EERROR otherwise. | ||
97 | * | ||
90 | * @get_parent: Queries the hardware to determine the parent of a clock. The | 98 | * @get_parent: Queries the hardware to determine the parent of a clock. The |
91 | * return value is a u8 which specifies the index corresponding to | 99 | * return value is a u8 which specifies the index corresponding to |
92 | * the parent clock. This index can be applied to either the | 100 | * the parent clock. This index can be applied to either the |
@@ -97,26 +105,12 @@ struct dentry; | |||
97 | * multiple parents. It is optional (and unnecessary) for clocks | 105 | * multiple parents. It is optional (and unnecessary) for clocks |
98 | * with 0 or 1 parents. | 106 | * with 0 or 1 parents. |
99 | * | 107 | * |
100 | * @set_parent: Change the input source of this clock; for clocks with multiple | ||
101 | * possible parents specify a new parent by passing in the index | ||
102 | * as a u8 corresponding to the parent in either the .parent_names | ||
103 | * or .parents arrays. This function in affect translates an | ||
104 | * array index into the value programmed into the hardware. | ||
105 | * Returns 0 on success, -EERROR otherwise. | ||
106 | * | ||
107 | * @set_rate: Change the rate of this clock. The requested rate is specified | 108 | * @set_rate: Change the rate of this clock. The requested rate is specified |
108 | * by the second argument, which should typically be the return | 109 | * by the second argument, which should typically be the return |
109 | * of .round_rate call. The third argument gives the parent rate | 110 | * of .round_rate call. The third argument gives the parent rate |
110 | * which is likely helpful for most .set_rate implementation. | 111 | * which is likely helpful for most .set_rate implementation. |
111 | * Returns 0 on success, -EERROR otherwise. | 112 | * Returns 0 on success, -EERROR otherwise. |
112 | * | 113 | * |
113 | * @recalc_accuracy: Recalculate the accuracy of this clock. The clock accuracy | ||
114 | * is expressed in ppb (parts per billion). The parent accuracy is | ||
115 | * an input parameter. | ||
116 | * Returns the calculated accuracy. Optional - if this op is not | ||
117 | * set then clock accuracy will be initialized to parent accuracy | ||
118 | * or 0 (perfect clock) if clock has no parent. | ||
119 | * | ||
120 | * @set_rate_and_parent: Change the rate and the parent of this clock. The | 114 | * @set_rate_and_parent: Change the rate and the parent of this clock. The |
121 | * requested rate is specified by the second argument, which | 115 | * requested rate is specified by the second argument, which |
122 | * should typically be the return of .round_rate call. The | 116 | * should typically be the return of .round_rate call. The |
@@ -128,6 +122,18 @@ struct dentry; | |||
128 | * separately via calls to .set_parent and .set_rate. | 122 | * separately via calls to .set_parent and .set_rate. |
129 | * Returns 0 on success, -EERROR otherwise. | 123 | * Returns 0 on success, -EERROR otherwise. |
130 | * | 124 | * |
125 | * @recalc_accuracy: Recalculate the accuracy of this clock. The clock accuracy | ||
126 | * is expressed in ppb (parts per billion). The parent accuracy is | ||
127 | * an input parameter. | ||
128 | * Returns the calculated accuracy. Optional - if this op is not | ||
129 | * set then clock accuracy will be initialized to parent accuracy | ||
130 | * or 0 (perfect clock) if clock has no parent. | ||
131 | * | ||
132 | * @init: Perform platform-specific initialization magic. | ||
133 | * This is not not used by any of the basic clock types. | ||
134 | * Please consider other ways of solving initialization problems | ||
135 | * before using this callback, as its use is discouraged. | ||
136 | * | ||
131 | * @debug_init: Set up type-specific debugfs entries for this clock. This | 137 | * @debug_init: Set up type-specific debugfs entries for this clock. This |
132 | * is called once, after the debugfs directory entry for this | 138 | * is called once, after the debugfs directory entry for this |
133 | * clock has been created. The dentry pointer representing that | 139 | * clock has been created. The dentry pointer representing that |
@@ -157,15 +163,15 @@ struct clk_ops { | |||
157 | void (*disable_unused)(struct clk_hw *hw); | 163 | void (*disable_unused)(struct clk_hw *hw); |
158 | unsigned long (*recalc_rate)(struct clk_hw *hw, | 164 | unsigned long (*recalc_rate)(struct clk_hw *hw, |
159 | unsigned long parent_rate); | 165 | unsigned long parent_rate); |
160 | long (*round_rate)(struct clk_hw *hw, unsigned long, | 166 | long (*round_rate)(struct clk_hw *hw, unsigned long rate, |
161 | unsigned long *); | 167 | unsigned long *parent_rate); |
162 | long (*determine_rate)(struct clk_hw *hw, unsigned long rate, | 168 | long (*determine_rate)(struct clk_hw *hw, unsigned long rate, |
163 | unsigned long *best_parent_rate, | 169 | unsigned long *best_parent_rate, |
164 | struct clk **best_parent_clk); | 170 | struct clk **best_parent_clk); |
165 | int (*set_parent)(struct clk_hw *hw, u8 index); | 171 | int (*set_parent)(struct clk_hw *hw, u8 index); |
166 | u8 (*get_parent)(struct clk_hw *hw); | 172 | u8 (*get_parent)(struct clk_hw *hw); |
167 | int (*set_rate)(struct clk_hw *hw, unsigned long, | 173 | int (*set_rate)(struct clk_hw *hw, unsigned long rate, |
168 | unsigned long); | 174 | unsigned long parent_rate); |
169 | int (*set_rate_and_parent)(struct clk_hw *hw, | 175 | int (*set_rate_and_parent)(struct clk_hw *hw, |
170 | unsigned long rate, | 176 | unsigned long rate, |
171 | unsigned long parent_rate, u8 index); | 177 | unsigned long parent_rate, u8 index); |