Some linux clock drivers use the clk_parent_data struct. Import it from linux to make driver porting easier. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> --- include/linux/clk.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/linux/clk.h b/include/linux/clk.h index ae03dcfdb2a27266188bdec99da74f861c8b8846..b7a7b8138a555c0508821d313ade153cd720195e 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h @@ -333,6 +333,20 @@ struct clk_ops { int (*get_phase)(struct clk_hw *hw); }; +/** + * struct clk_parent_data - clk parent information + * @hw: parent clk_hw pointer (used for clk providers with internal clks) + * @fw_name: parent name local to provider registering clk + * @name: globally unique parent name (used as a fallback) + * @index: parent index local to provider registering clk (if @fw_name absent) + */ +struct clk_parent_data { + const struct clk_hw *hw; + const char *fw_name; + const char *name; + int index; +}; + /** * struct clk_init_data - holds init data that's common to all clocks and is * shared between the clock provider and the common clock framework. @@ -349,6 +363,7 @@ struct clk_init_data { const char *name; const struct clk_ops *ops; const char * const *parent_names; + const struct clk_parent_data *parent_data; const struct clk_hw **parent_hws; unsigned int num_parents; unsigned long flags; -- 2.46.0