This will become in handy for the upcoming SCMI clk parent support.

Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>
---
 include/linux/clk.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/include/linux/clk.h b/include/linux/clk.h
index 
7ae4c48ca27ffbe4597eede01fca27ddee9772d1..f2c02c9eec8fca9702176d0265eecc3620e74fdb
 100644
--- a/include/linux/clk.h
+++ b/include/linux/clk.h
@@ -349,6 +349,18 @@ 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)
+ * @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              *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.
@@ -365,6 +377,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.39.5


Reply via email to