clk: fixed-factor: Add CLK_FIXED_FACTOR_FW_NAME for DT clock-names parent
authorChen-Yu Tsai <wens@csie.org>
Fri, 3 May 2019 03:58:20 +0000 (11:58 +0800)
committerChen-Yu Tsai <wens@csie.org>
Tue, 18 Jun 2019 11:39:00 +0000 (19:39 +0800)
With the new clk parenting code, clk_init_data was expanded to include
.parent_data, for clk drivers to specify parents using a combination of
device tree clock-names, pointers to struct clk_hw, device tree clocks,
and/or fallback global clock names.

Add a new macro, CLK_FIXED_FACTOR_FW_NAME, that takes a string to match
a clock-names entry in the device tree to specify the clock parent.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
include/linux/clk-provider.h

index 146a6859969ec8fdba6aef57c321d9eec9eac169..e5c44f6dd8970a19ad9ca901da46fe96be98c0c0 100644 (file)
@@ -1011,6 +1011,17 @@ extern struct of_device_id __clk_of_table;
                                                  _flags),      \
        }
 
+#define CLK_FIXED_FACTOR_FW_NAME(_struct, _name, _parent,              \
+                                _div, _mult, _flags)                   \
+       struct clk_fixed_factor _struct = {                             \
+               .div            = _div,                                 \
+               .mult           = _mult,                                \
+               .hw.init        = CLK_HW_INIT_FW_NAME(_name,            \
+                                                     _parent,          \
+                                                     &clk_fixed_factor_ops, \
+                                                     _flags),          \
+       }
+
 #ifdef CONFIG_OF
 int of_clk_add_provider(struct device_node *np,
                        struct clk *(*clk_src_get)(struct of_phandle_args *args,