Lines Matching refs:clk_hw
38 struct clk_hw;
61 struct clk_hw *best_parent_hw;
229 int (*prepare)(struct clk_hw *hw);
230 void (*unprepare)(struct clk_hw *hw);
231 int (*is_prepared)(struct clk_hw *hw);
232 void (*unprepare_unused)(struct clk_hw *hw);
233 int (*enable)(struct clk_hw *hw);
234 void (*disable)(struct clk_hw *hw);
235 int (*is_enabled)(struct clk_hw *hw);
236 void (*disable_unused)(struct clk_hw *hw);
237 int (*save_context)(struct clk_hw *hw);
238 void (*restore_context)(struct clk_hw *hw);
239 unsigned long (*recalc_rate)(struct clk_hw *hw,
241 long (*round_rate)(struct clk_hw *hw, unsigned long rate,
243 int (*determine_rate)(struct clk_hw *hw,
245 int (*set_parent)(struct clk_hw *hw, u8 index);
246 u8 (*get_parent)(struct clk_hw *hw);
247 int (*set_rate)(struct clk_hw *hw, unsigned long rate,
249 int (*set_rate_and_parent)(struct clk_hw *hw,
252 unsigned long (*recalc_accuracy)(struct clk_hw *hw,
254 int (*get_phase)(struct clk_hw *hw);
255 int (*set_phase)(struct clk_hw *hw, int degrees);
256 int (*get_duty_cycle)(struct clk_hw *hw,
258 int (*set_duty_cycle)(struct clk_hw *hw,
260 int (*init)(struct clk_hw *hw);
261 void (*terminate)(struct clk_hw *hw);
262 void (*debug_init)(struct clk_hw *hw, struct dentry *dentry);
263 int (*pre_rate_change)(struct clk_hw *hw,
266 int (*post_rate_change)(struct clk_hw *hw,
279 const struct clk_hw *hw;
305 const struct clk_hw **parent_hws;
326 struct clk_hw { struct
353 struct clk_hw hw;
362 struct clk_hw *__clk_hw_register_fixed_rate(struct device *dev,
364 const char *parent_name, const struct clk_hw *parent_hw,
458 void clk_hw_unregister_fixed_rate(struct clk_hw *hw);
486 struct clk_hw hw;
500 struct clk_hw *__clk_hw_register_gate(struct device *dev,
502 const char *parent_name, const struct clk_hw *parent_hw,
562 void clk_hw_unregister_gate(struct clk_hw *hw);
563 int clk_gate_is_enabled(struct clk_hw *hw);
611 struct clk_hw hw;
635 unsigned long divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate,
638 long divider_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent,
642 long divider_ro_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent,
650 struct clk_hw *__clk_hw_register_divider(struct device *dev,
652 const char *parent_name, const struct clk_hw *parent_hw,
798 void clk_hw_unregister_divider(struct clk_hw *hw);
830 struct clk_hw hw;
851 struct clk_hw *__clk_hw_register_mux(struct device *dev, struct device_node *np,
854 const struct clk_hw **parent_hws,
893 int clk_mux_val_to_index(struct clk_hw *hw, u32 *table, unsigned int flags,
898 void clk_hw_unregister_mux(struct clk_hw *hw);
915 struct clk_hw hw;
927 struct clk_hw *clk_hw_register_fixed_factor(struct device *dev,
930 void clk_hw_unregister_fixed_factor(struct clk_hw *hw);
957 struct clk_hw hw;
966 void (*approximation)(struct clk_hw *hw,
983 struct clk_hw *clk_hw_register_fractional_divider(struct device *dev,
987 void clk_hw_unregister_fractional_divider(struct clk_hw *hw);
1014 struct clk_hw hw;
1042 struct clk_hw hw;
1045 struct clk_hw *mux_hw;
1046 struct clk_hw *rate_hw;
1047 struct clk_hw *gate_hw;
1058 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1059 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1060 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1064 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1065 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1066 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1069 struct clk_hw *clk_hw_register_composite(struct device *dev, const char *name,
1071 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1072 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1073 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1075 struct clk_hw *clk_hw_register_composite_pdata(struct device *dev,
1078 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1079 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1080 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1082 void clk_hw_unregister_composite(struct clk_hw *hw);
1084 struct clk *clk_register(struct device *dev, struct clk_hw *hw);
1085 struct clk *devm_clk_register(struct device *dev, struct clk_hw *hw);
1087 int __must_check clk_hw_register(struct device *dev, struct clk_hw *hw);
1088 int __must_check devm_clk_hw_register(struct device *dev, struct clk_hw *hw);
1089 int __must_check of_clk_hw_register(struct device_node *node, struct clk_hw *hw);
1094 void clk_hw_unregister(struct clk_hw *hw);
1095 void devm_clk_hw_unregister(struct device *dev, struct clk_hw *hw);
1100 const char *clk_hw_get_name(const struct clk_hw *hw);
1102 struct clk_hw *__clk_get_hw(struct clk *clk);
1104 static inline struct clk_hw *__clk_get_hw(struct clk *clk) in __clk_get_hw()
1106 return (struct clk_hw *)clk; in __clk_get_hw()
1110 struct clk *clk_hw_get_clk(struct clk_hw *hw, const char *con_id);
1111 struct clk *devm_clk_hw_get_clk(struct device *dev, struct clk_hw *hw,
1114 unsigned int clk_hw_get_num_parents(const struct clk_hw *hw);
1115 struct clk_hw *clk_hw_get_parent(const struct clk_hw *hw);
1116 struct clk_hw *clk_hw_get_parent_by_index(const struct clk_hw *hw,
1118 int clk_hw_get_parent_index(struct clk_hw *hw);
1119 int clk_hw_set_parent(struct clk_hw *hw, struct clk_hw *new_parent);
1121 unsigned long clk_hw_get_rate(const struct clk_hw *hw);
1122 unsigned long clk_hw_get_flags(const struct clk_hw *hw);
1123 bool clk_hw_is_prepared(const struct clk_hw *hw);
1124 bool clk_hw_rate_is_protected(const struct clk_hw *hw);
1125 bool clk_hw_is_enabled(const struct clk_hw *hw);
1128 int __clk_mux_determine_rate(struct clk_hw *hw,
1130 int __clk_determine_rate(struct clk_hw *core, struct clk_rate_request *req);
1131 int __clk_mux_determine_rate_closest(struct clk_hw *hw,
1133 int clk_mux_determine_rate_flags(struct clk_hw *hw,
1136 void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent);
1137 void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate,
1140 static inline void __clk_hw_set_clk(struct clk_hw *dst, struct clk_hw *src) in __clk_hw_set_clk()
1146 static inline long divider_round_rate(struct clk_hw *hw, unsigned long rate, in divider_round_rate()
1155 static inline long divider_ro_round_rate(struct clk_hw *hw, unsigned long rate, in divider_ro_round_rate()
1169 unsigned long clk_hw_round_rate(struct clk_hw *hw, unsigned long rate);
1178 struct clk_hw *hws[];
1208 .parent_hws = (const struct clk_hw*[]) { _parent }, \
1328 struct clk_hw *(*get)(struct of_phandle_args *clkspec,
1332 struct clk_hw *(*get)(struct of_phandle_args *clkspec,
1339 struct clk_hw *of_clk_hw_simple_get(struct of_phandle_args *clkspec,
1342 struct clk_hw *of_clk_hw_onecell_get(struct of_phandle_args *clkspec,
1359 struct clk_hw *(*get)(struct of_phandle_args *clkspec, in of_clk_add_hw_provider()
1366 struct clk_hw *(*get)(struct of_phandle_args *clkspec, in devm_of_clk_add_hw_provider()
1379 static inline struct clk_hw *
1389 static inline struct clk_hw *
1406 void clk_gate_restore_context(struct clk_hw *hw);