Lines Matching refs:clk_hw
37 struct clk_hw;
64 struct clk_hw *best_parent_hw;
67 void clk_hw_init_rate_request(const struct clk_hw *hw,
70 void clk_hw_forward_rate_request(const struct clk_hw *core,
72 const struct clk_hw *parent,
235 int (*prepare)(struct clk_hw *hw);
236 void (*unprepare)(struct clk_hw *hw);
237 int (*is_prepared)(struct clk_hw *hw);
238 void (*unprepare_unused)(struct clk_hw *hw);
239 int (*enable)(struct clk_hw *hw);
240 void (*disable)(struct clk_hw *hw);
241 int (*is_enabled)(struct clk_hw *hw);
242 void (*disable_unused)(struct clk_hw *hw);
243 int (*save_context)(struct clk_hw *hw);
244 void (*restore_context)(struct clk_hw *hw);
245 unsigned long (*recalc_rate)(struct clk_hw *hw,
247 long (*round_rate)(struct clk_hw *hw, unsigned long rate,
249 int (*determine_rate)(struct clk_hw *hw,
251 int (*set_parent)(struct clk_hw *hw, u8 index);
252 u8 (*get_parent)(struct clk_hw *hw);
253 int (*set_rate)(struct clk_hw *hw, unsigned long rate,
255 int (*set_rate_and_parent)(struct clk_hw *hw,
258 unsigned long (*recalc_accuracy)(struct clk_hw *hw,
260 int (*get_phase)(struct clk_hw *hw);
261 int (*set_phase)(struct clk_hw *hw, int degrees);
262 int (*get_duty_cycle)(struct clk_hw *hw,
264 int (*set_duty_cycle)(struct clk_hw *hw,
266 int (*init)(struct clk_hw *hw);
267 void (*terminate)(struct clk_hw *hw);
268 void (*debug_init)(struct clk_hw *hw, struct dentry *dentry);
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,
485 void clk_hw_unregister_fixed_rate(struct clk_hw *hw);
513 struct clk_hw hw;
527 struct clk_hw *__clk_hw_register_gate(struct device *dev,
529 const char *parent_name, const struct clk_hw *parent_hw,
534 struct clk_hw *__devm_clk_hw_register_gate(struct device *dev,
536 const char *parent_name, const struct clk_hw *parent_hw,
612 void clk_hw_unregister_gate(struct clk_hw *hw);
613 int clk_gate_is_enabled(struct clk_hw *hw);
661 struct clk_hw hw;
685 unsigned long divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate,
688 long divider_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent,
692 long divider_ro_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent,
696 int divider_determine_rate(struct clk_hw *hw, struct clk_rate_request *req,
699 int divider_ro_determine_rate(struct clk_hw *hw, struct clk_rate_request *req,
706 struct clk_hw *__clk_hw_register_divider(struct device *dev,
708 const char *parent_name, const struct clk_hw *parent_hw,
712 struct clk_hw *__devm_clk_hw_register_divider(struct device *dev,
714 const char *parent_name, const struct clk_hw *parent_hw,
917 void clk_hw_unregister_divider(struct clk_hw *hw);
949 struct clk_hw hw;
970 struct clk_hw *__clk_hw_register_mux(struct device *dev, struct device_node *np,
973 const struct clk_hw **parent_hws,
977 struct clk_hw *__devm_clk_hw_register_mux(struct device *dev, struct device_node *np,
980 const struct clk_hw **parent_hws,
1053 int clk_mux_val_to_index(struct clk_hw *hw, const u32 *table, unsigned int flags,
1058 void clk_hw_unregister_mux(struct clk_hw *hw);
1075 struct clk_hw hw;
1087 struct clk_hw *clk_hw_register_fixed_factor(struct device *dev,
1090 void clk_hw_unregister_fixed_factor(struct clk_hw *hw);
1091 struct clk_hw *devm_clk_hw_register_fixed_factor(struct device *dev,
1094 struct clk_hw *devm_clk_hw_register_fixed_factor_index(struct device *dev,
1098 struct clk_hw *devm_clk_hw_register_fixed_factor_parent_hw(struct device *dev,
1099 const char *name, const struct clk_hw *parent_hw,
1102 struct clk_hw *clk_hw_register_fixed_factor_parent_hw(struct device *dev,
1103 const char *name, const struct clk_hw *parent_hw,
1134 struct clk_hw hw;
1143 void (*approximation)(struct clk_hw *hw,
1159 struct clk_hw *clk_hw_register_fractional_divider(struct device *dev,
1163 void clk_hw_unregister_fractional_divider(struct clk_hw *hw);
1190 struct clk_hw hw;
1218 struct clk_hw hw;
1221 struct clk_hw *mux_hw;
1222 struct clk_hw *rate_hw;
1223 struct clk_hw *gate_hw;
1234 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1235 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1236 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1240 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1241 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1242 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1245 struct clk_hw *clk_hw_register_composite(struct device *dev, const char *name,
1247 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1248 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1249 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1251 struct clk_hw *clk_hw_register_composite_pdata(struct device *dev,
1254 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1255 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1256 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1258 struct clk_hw *devm_clk_hw_register_composite_pdata(struct device *dev,
1261 struct clk_hw *mux_hw, const struct clk_ops *mux_ops,
1262 struct clk_hw *rate_hw, const struct clk_ops *rate_ops,
1263 struct clk_hw *gate_hw, const struct clk_ops *gate_ops,
1265 void clk_hw_unregister_composite(struct clk_hw *hw);
1267 struct clk *clk_register(struct device *dev, struct clk_hw *hw);
1268 struct clk *devm_clk_register(struct device *dev, struct clk_hw *hw);
1270 int __must_check clk_hw_register(struct device *dev, struct clk_hw *hw);
1271 int __must_check devm_clk_hw_register(struct device *dev, struct clk_hw *hw);
1272 int __must_check of_clk_hw_register(struct device_node *node, struct clk_hw *hw);
1276 void clk_hw_unregister(struct clk_hw *hw);
1280 const char *clk_hw_get_name(const struct clk_hw *hw);
1282 struct clk_hw *__clk_get_hw(struct clk *clk);
1284 static inline struct clk_hw *__clk_get_hw(struct clk *clk) in __clk_get_hw()
1286 return (struct clk_hw *)clk; in __clk_get_hw()
1290 struct clk *clk_hw_get_clk(struct clk_hw *hw, const char *con_id);
1291 struct clk *devm_clk_hw_get_clk(struct device *dev, struct clk_hw *hw,
1294 unsigned int clk_hw_get_num_parents(const struct clk_hw *hw);
1295 struct clk_hw *clk_hw_get_parent(const struct clk_hw *hw);
1296 struct clk_hw *clk_hw_get_parent_by_index(const struct clk_hw *hw,
1298 int clk_hw_get_parent_index(struct clk_hw *hw);
1299 int clk_hw_set_parent(struct clk_hw *hw, struct clk_hw *new_parent);
1301 unsigned long clk_hw_get_rate(const struct clk_hw *hw);
1302 unsigned long clk_hw_get_flags(const struct clk_hw *hw);
1306 bool clk_hw_is_prepared(const struct clk_hw *hw);
1307 bool clk_hw_rate_is_protected(const struct clk_hw *hw);
1308 bool clk_hw_is_enabled(const struct clk_hw *hw);
1311 int __clk_mux_determine_rate(struct clk_hw *hw,
1313 int __clk_determine_rate(struct clk_hw *core, struct clk_rate_request *req);
1314 int __clk_mux_determine_rate_closest(struct clk_hw *hw,
1316 int clk_mux_determine_rate_flags(struct clk_hw *hw,
1319 void clk_hw_reparent(struct clk_hw *hw, struct clk_hw *new_parent);
1320 void clk_hw_get_rate_range(struct clk_hw *hw, unsigned long *min_rate,
1322 void clk_hw_set_rate_range(struct clk_hw *hw, unsigned long min_rate,
1325 static inline void __clk_hw_set_clk(struct clk_hw *dst, struct clk_hw *src) in __clk_hw_set_clk()
1331 static inline long divider_round_rate(struct clk_hw *hw, unsigned long rate, in divider_round_rate()
1340 static inline long divider_ro_round_rate(struct clk_hw *hw, unsigned long rate, in divider_ro_round_rate()
1354 unsigned long clk_hw_round_rate(struct clk_hw *hw, unsigned long rate);
1363 struct clk_hw *hws[];
1393 .parent_hws = (const struct clk_hw*[]) { _parent }, \
1513 struct clk_hw *(*get)(struct of_phandle_args *clkspec,
1517 struct clk_hw *(*get)(struct of_phandle_args *clkspec,
1524 struct clk_hw *of_clk_hw_simple_get(struct of_phandle_args *clkspec,
1527 struct clk_hw *of_clk_hw_onecell_get(struct of_phandle_args *clkspec,
1544 struct clk_hw *(*get)(struct of_phandle_args *clkspec, in of_clk_add_hw_provider()
1551 struct clk_hw *(*get)(struct of_phandle_args *clkspec, in devm_of_clk_add_hw_provider()
1564 static inline struct clk_hw *
1574 static inline struct clk_hw *
1591 void clk_gate_restore_context(struct clk_hw *hw);