Hi Stephen, Abel Would you merge this patchset from Marek for next tree? Thanks, Peng. > Subject: [PATCH v7 1/5] clk: Introduce > devm_clk_hw_register_gate_parent_data() > > Add an API for clock gate that uses parent_data for the parent instead of a > string parent_name. > > Reviewed-by: Peng Fan <peng.fan@xxxxxxx> > Reviewed-by: Fabio Estevam <festevam@xxxxxxxxx> > Tested-by: Adam Ford <aford173@xxxxxxxxx> #imx8mp-beacon-kit > Tested-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > Signed-off-by: Marek Vasut <marex@xxxxxxx> > --- > Cc: Abel Vesa <abelvesa@xxxxxxxxxx> > Cc: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > Cc: Fabio Estevam <festevam@xxxxxxxxx> > Cc: Jacky Bai <ping.bai@xxxxxxx> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> > Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > Cc: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > Cc: Michael Turquette <mturquette@xxxxxxxxxxxx> > Cc: NXP Linux Team <linux-imx@xxxxxxx> > Cc: Peng Fan <peng.fan@xxxxxxx> > Cc: Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx> > Cc: Richard Cochran <richardcochran@xxxxxxxxx> > Cc: Rob Herring <robh+dt@xxxxxxxxxx> > Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > Cc: Shawn Guo <shawnguo@xxxxxxxxxx> > Cc: Stephen Boyd <sboyd@xxxxxxxxxx> > Cc: devicetree@xxxxxxxxxxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Cc: linux-clk@xxxxxxxxxxxxxxx > --- > V3: New patch > V4: - Rebase on next 20230223 > V5: Add TB from Adam and Alexander > V6: Add RB from Fabio > V7: Add RB from Peng > --- > include/linux/clk-provider.h | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index > 842e72a5348fa..92b7c794c6272 100644 > --- a/include/linux/clk-provider.h > +++ b/include/linux/clk-provider.h > @@ -608,6 +608,25 @@ 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 - register a gate clock with the clock > +framework > + * @dev: device that is registering this clock > + * @name: name of this clock > + * @parent_data: parent clk data > + * @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_data(dev, name, parent_data, flags, \ > + reg, bit_idx, clk_gate_flags, \ > + lock) \ > + __devm_clk_hw_register_gate((dev), NULL, (name), NULL, NULL, > \ > + (parent_data), (flags), (reg), (bit_idx), \ > + (clk_gate_flags), (lock)) > + > void clk_unregister_gate(struct clk *clk); void > clk_hw_unregister_gate(struct clk_hw *hw); int clk_gate_is_enabled(struct > clk_hw *hw); > -- > 2.39.2