Lines Matching refs:clk_hw
37 struct clk_hw;
60 struct clk_hw *best_parent_hw;
221 int (*prepare)(struct clk_hw *hw);
222 void (*unprepare)(struct clk_hw *hw);
223 int (*is_prepared)(struct clk_hw *hw);
224 void (*unprepare_unused)(struct clk_hw *hw);
225 int (*enable)(struct clk_hw *hw);
226 void (*disable)(struct clk_hw *hw);
227 int (*is_enabled)(struct clk_hw *hw);
228 void (*disable_unused)(struct clk_hw *hw);
229 int (*save_context)(struct clk_hw *hw);
230 void (*restore_context)(struct clk_hw *hw);
231 unsigned long (*recalc_rate)(struct clk_hw *hw,
233 long (*round_rate)(struct clk_hw *hw, unsigned long rate,
235 int (*determine_rate)(struct clk_hw *hw,
237 int (*set_parent)(struct clk_hw *hw, u8 index);
238 u8 (*get_parent)(struct clk_hw *hw);
239 int (*set_rate)(struct clk_hw *hw, unsigned long rate,
241 int (*set_rate_and_parent)(struct clk_hw *hw,
244 unsigned long (*recalc_accuracy)(struct clk_hw *hw,
246 int (*get_phase)(struct clk_hw *hw);
247 int (*set_phase)(struct clk_hw *hw, int degrees);
248 int (*get_duty_cycle)(struct clk_hw *hw,
250 int (*set_duty_cycle)(struct clk_hw *hw,
252 int (*init)(struct clk_hw *hw);
253 void (*terminate)(struct clk_hw *hw);
254 void (*debug_init)(struct clk_hw *hw, struct dentry *dentry);
265 const struct clk_hw *hw;
291 const struct clk_hw **parent_hws;
312 struct clk_hw { struct
339 struct clk_hw hw;
348 struct clk_hw *__clk_hw_register_fixed_rate(struct device *dev,
350 const char *parent_name, const struct clk_hw *parent_hw,
444 void clk_hw_unregister_fixed_rate(struct clk_hw *hw);
472 struct clk_hw hw;
486 struct clk_hw *__clk_hw_register_gate(struct device *dev,
488 const char *parent_name, const struct clk_hw *parent_hw,
548 void clk_hw_unregister_gate(struct clk_hw *hw);
549 int clk_gate_is_enabled(struct clk_hw *hw);
597 struct clk_hw hw;
621 unsigned long divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate,
624 long divider_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent,
628 long divider_ro_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent,
632 int divider_determine_rate(struct clk_hw *hw, struct clk_rate_request *req,
635 int divider_ro_determine_rate(struct clk_hw *hw, struct clk_rate_request *req,
642 struct clk_hw *__clk_hw_register_divider(struct device *dev,
644 const char *parent_name, const struct clk_hw *parent_hw,
648 struct clk_hw *__devm_clk_hw_register_divider(struct device *dev,
650 const char *parent_name, const struct clk_hw *parent_hw,
834 void clk_hw_unregister_divider(struct clk_hw *hw);
866 struct clk_hw hw;
887 struct clk_hw *__clk_hw_register_mux(struct device *dev, struct device_node *np,
890 const struct clk_hw **parent_hws,
894 struct clk_hw *__devm_clk_hw_register_mux(struct device *dev, struct device_node *np,
897 const struct clk_hw **parent_hws,
942 int clk_mux_val_to_index(struct clk_hw *hw, u32 *table, unsigned int flags,
947 void clk_hw_unregister_mux(struct clk_hw *hw);
964 struct clk_hw hw;
976 struct clk_hw *clk_hw_register_fixed_factor(struct device *dev,
979 void clk_hw_unregister_fixed_factor(struct clk_hw *hw);
980 struct clk_hw *devm_clk_hw_register_fixed_factor(struct device *dev,
1012 struct clk_hw hw;
1021 void (*approximation)(struct clk_hw *hw,
1037 struct clk_hw *clk_hw_register_fractional_divider(struct device *dev,
1041 void clk_hw_unregister_fractional_divider(struct clk_hw *hw);
1068 struct clk_hw hw;
1096 struct clk_hw hw;
1099 struct clk_hw *mux_hw;
1100 struct clk_hw *rate_hw;
1101 struct clk_hw *gate_hw;
1112 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1113 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1114 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1118 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1119 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1120 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1123 struct clk_hw *clk_hw_register_composite(struct device *dev, const char *name,
1125 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1126 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1127 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1129 struct clk_hw *clk_hw_register_composite_pdata(struct device *dev,
1132 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1133 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1134 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1136 struct clk_hw *devm_clk_hw_register_composite_pdata(struct device *dev,
1139 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1140 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1141 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1143 void clk_hw_unregister_composite(struct clk_hw *hw);
1145 struct clk *clk_register(struct device *dev, struct clk_hw *hw);
1146 struct clk *devm_clk_register(struct device *dev, struct clk_hw *hw);
1148 int __must_check clk_hw_register(struct device *dev, struct clk_hw *hw);
1149 int __must_check devm_clk_hw_register(struct device *dev, struct clk_hw *hw);
1150 int __must_check of_clk_hw_register(struct device_node *node, struct clk_hw *hw);
1155 void clk_hw_unregister(struct clk_hw *hw);
1156 void devm_clk_hw_unregister(struct device *dev, struct clk_hw *hw);
1160 const char *clk_hw_get_name(const struct clk_hw *hw);
1162 struct clk_hw *__clk_get_hw(struct clk *clk);
1164 static inline struct clk_hw *__clk_get_hw(struct clk *clk) in __clk_get_hw()
1166 return (struct clk_hw *)clk; in __clk_get_hw()
1170 struct clk *clk_hw_get_clk(struct clk_hw *hw, const char *con_id);
1171 struct clk *devm_clk_hw_get_clk(struct device *dev, struct clk_hw *hw,
1174 unsigned int clk_hw_get_num_parents(const struct clk_hw *hw);
1175 struct clk_hw *clk_hw_get_parent(const struct clk_hw *hw);
1176 struct clk_hw *clk_hw_get_parent_by_index(const struct clk_hw *hw,
1178 int clk_hw_get_parent_index(struct clk_hw *hw);
1179 int clk_hw_set_parent(struct clk_hw *hw, struct clk_hw *new_parent);
1181 unsigned long clk_hw_get_rate(const struct clk_hw *hw);
1182 unsigned long clk_hw_get_flags(const struct clk_hw *hw);
1186 bool clk_hw_is_prepared(const struct clk_hw *hw);
1187 bool clk_hw_rate_is_protected(const struct clk_hw *hw);
1188 bool clk_hw_is_enabled(const struct clk_hw *hw);
1191 int __clk_mux_determine_rate(struct clk_hw *hw,
1193 int __clk_determine_rate(struct clk_hw *core, struct clk_rate_request *req);
1194 int __clk_mux_determine_rate_closest(struct clk_hw *hw,
1196 int clk_mux_determine_rate_flags(struct clk_hw *hw,
1199 void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent);
1200 void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate,
1203 static inline void __clk_hw_set_clk(struct clk_hw *dst, struct clk_hw *src) in __clk_hw_set_clk()
1209 static inline long divider_round_rate(struct clk_hw *hw, unsigned long rate, in divider_round_rate()
1218 static inline long divider_ro_round_rate(struct clk_hw *hw, unsigned long rate, in divider_ro_round_rate()
1232 unsigned long clk_hw_round_rate(struct clk_hw *hw, unsigned long rate);
1241 struct clk_hw *hws[];
1271 .parent_hws = (const struct clk_hw*[]) { _parent }, \
1391 struct clk_hw *(*get)(struct of_phandle_args *clkspec,
1395 struct clk_hw *(*get)(struct of_phandle_args *clkspec,
1402 struct clk_hw *of_clk_hw_simple_get(struct of_phandle_args *clkspec,
1405 struct clk_hw *of_clk_hw_onecell_get(struct of_phandle_args *clkspec,
1422 struct clk_hw *(*get)(struct of_phandle_args *clkspec, in of_clk_add_hw_provider()
1429 struct clk_hw *(*get)(struct of_phandle_args *clkspec, in devm_of_clk_add_hw_provider()
1442 static inline struct clk_hw *
1452 static inline struct clk_hw *
1469 void clk_gate_restore_context(struct clk_hw *hw);