]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
clk: Add devm_clk_hw_register_gate_parent_hw()
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Fri, 1 Nov 2024 09:57:13 +0000 (11:57 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 6 Nov 2024 07:52:00 +0000 (08:52 +0100)
Add devm_clk_hw_register_gate_parent_hw() macro to allow registering
devres managed gate clocks providing struct clk_hw object as parent.

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://lore.kernel.org/20241101095720.2247815-3-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
include/linux/clk-provider.h

index 7e43caabb54b901d68484b86c8349febfe12ba0f..28cf7d103e922546e5eb0ca5e3fda89cfde3e03e 100644 (file)
@@ -622,6 +622,24 @@ struct clk *clk_register_gate(struct device *dev, const char *name,
        __devm_clk_hw_register_gate((dev), NULL, (name), (parent_name), NULL, \
                               NULL, (flags), (reg), (bit_idx),               \
                               (clk_gate_flags), (lock))
+/**
+ * devm_clk_hw_register_gate_parent_hw - register a gate clock with the clock
+ * framework
+ * @dev: device that is registering this clock
+ * @name: name of this clock
+ * @parent_hw: pointer to parent clk
+ * @flags: framework-specific flags for this clock
+ * @reg: register address to control gating of this clock
+ * @bit_idx: which bit in the register controls gating of this clock
+ * @clk_gate_flags: gate-specific flags for this clock
+ * @lock: shared register lock for this clock
+ */
+#define devm_clk_hw_register_gate_parent_hw(dev, name, parent_hw, flags,      \
+                                           reg, bit_idx, clk_gate_flags,     \
+                                           lock)                             \
+       __devm_clk_hw_register_gate((dev), NULL, (name), NULL, (parent_hw),   \
+                                   NULL, (flags), (reg), (bit_idx),          \
+                                   (clk_gate_flags), (lock))
 /**
  * devm_clk_hw_register_gate_parent_data - register a gate clock with the
  * clock framework