diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/clk-provider.h | 30 | 
1 files changed, 30 insertions, 0 deletions
| diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index bc6c8de1fac1..bf8c8bb8c2cb 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h @@ -709,6 +709,11 @@ struct clk_onecell_data {  	unsigned int clk_num;  }; +struct clk_hw_onecell_data { +	size_t num; +	struct clk_hw *hws[]; +}; +  extern struct of_device_id __clk_of_table;  #define CLK_OF_DECLARE(name, compat, fn) OF_DECLARE_1(clk, name, compat, fn) @@ -718,10 +723,18 @@ int of_clk_add_provider(struct device_node *np,  			struct clk *(*clk_src_get)(struct of_phandle_args *args,  						   void *data),  			void *data); +int of_clk_add_hw_provider(struct device_node *np, +			   struct clk_hw *(*get)(struct of_phandle_args *clkspec, +						 void *data), +			   void *data);  void of_clk_del_provider(struct device_node *np);  struct clk *of_clk_src_simple_get(struct of_phandle_args *clkspec,  				  void *data); +struct clk_hw *of_clk_hw_simple_get(struct of_phandle_args *clkspec, +				    void *data);  struct clk *of_clk_src_onecell_get(struct of_phandle_args *clkspec, void *data); +struct clk_hw *of_clk_hw_onecell_get(struct of_phandle_args *clkspec, +				     void *data);  unsigned int of_clk_get_parent_count(struct device_node *np);  int of_clk_parent_fill(struct device_node *np, const char **parents,  		       unsigned int size); @@ -738,17 +751,34 @@ static inline int of_clk_add_provider(struct device_node *np,  {  	return 0;  } +static inline int of_clk_add_hw_provider(struct device_node *np, +			struct clk_hw *(*get)(struct of_phandle_args *clkspec, +					      void *data), +			void *data) +{ +	return 0; +}  static inline void of_clk_del_provider(struct device_node *np) {}  static inline struct clk *of_clk_src_simple_get(  	struct of_phandle_args *clkspec, void *data)  {  	return ERR_PTR(-ENOENT);  } +static inline struct clk_hw * +of_clk_hw_simple_get(struct of_phandle_args *clkspec, void *data) +{ +	return ERR_PTR(-ENOENT); +}  static inline struct clk *of_clk_src_onecell_get(  	struct of_phandle_args *clkspec, void *data)  {  	return ERR_PTR(-ENOENT);  } +static inline struct clk_hw * +of_clk_hw_onecell_get(struct of_phandle_args *clkspec, void *data) +{ +	return ERR_PTR(-ENOENT); +}  static inline int of_clk_get_parent_count(struct device_node *np)  {  	return 0; | 
