clk: fixed-factor: add clk_hw_register_fixed_factor_index() function
authorThéo Lebrun <theo.lebrun@bootlin.com>
Wed, 6 Nov 2024 16:03:54 +0000 (17:03 +0100)
committerStephen Boyd <sboyd@kernel.org>
Thu, 14 Nov 2024 22:52:26 +0000 (14:52 -0800)
Add non-devres version of clk_hw_register_fixed_factor(), with parent
targeted using its index.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Link: https://lore.kernel.org/r/20241106-mbly-clk-v2-3-84cfefb3f485@bootlin.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-fixed-factor.c
include/linux/clk-provider.h

index 8fba63f..e62ae87 100644 (file)
@@ -241,6 +241,17 @@ struct clk_hw *clk_hw_register_fixed_factor_with_accuracy_fwname(struct device *
 }
 EXPORT_SYMBOL_GPL(clk_hw_register_fixed_factor_with_accuracy_fwname);
 
+struct clk_hw *clk_hw_register_fixed_factor_index(struct device *dev,
+               const char *name, unsigned int index, unsigned long flags,
+               unsigned int mult, unsigned int div)
+{
+       const struct clk_parent_data pdata = { .index = index };
+
+       return __clk_hw_register_fixed_factor(dev, NULL, name, NULL, NULL, &pdata,
+                                             flags, mult, div, 0, 0, false);
+}
+EXPORT_SYMBOL_GPL(clk_hw_register_fixed_factor_index);
+
 struct clk *clk_register_fixed_factor(struct device *dev, const char *name,
                const char *parent_name, unsigned long flags,
                unsigned int mult, unsigned int div)
index dbe7939..52b46c6 100644 (file)
@@ -1142,6 +1142,9 @@ struct clk_hw *clk_hw_register_fixed_factor_with_accuracy_fwname(struct device *
                struct device_node *np, const char *name, const char *fw_name,
                unsigned long flags, unsigned int mult, unsigned int div,
                unsigned long acc);
+struct clk_hw *clk_hw_register_fixed_factor_index(struct device *dev,
+               const char *name, unsigned int index, unsigned long flags,
+               unsigned int mult, unsigned int div);
 void clk_hw_unregister_fixed_factor(struct clk_hw *hw);
 struct clk_hw *devm_clk_hw_register_fixed_factor(struct device *dev,
                const char *name, const char *parent_name, unsigned long flags,