hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/clk/socfpga/clk-pll.c
....@@ -70,17 +70,18 @@
7070 .get_parent = clk_pll_get_parent,
7171 };
7272
73
-static __init struct clk *__socfpga_pll_init(struct device_node *node,
73
+static __init struct clk_hw *__socfpga_pll_init(struct device_node *node,
7474 const struct clk_ops *ops)
7575 {
7676 u32 reg;
77
- struct clk *clk;
77
+ struct clk_hw *hw_clk;
7878 struct socfpga_pll *pll_clk;
7979 const char *clk_name = node->name;
8080 const char *parent_name[SOCFPGA_MAX_PARENTS];
8181 struct clk_init_data init;
8282 struct device_node *clkmgr_np;
8383 int rc;
84
+ int err;
8485
8586 of_property_read_u32(node, "reg", &reg);
8687
....@@ -106,13 +107,15 @@
106107
107108 pll_clk->hw.bit_idx = SOCFPGA_PLL_EXT_ENA;
108109
109
- clk = clk_register(NULL, &pll_clk->hw.hw);
110
- if (WARN_ON(IS_ERR(clk))) {
110
+ hw_clk = &pll_clk->hw.hw;
111
+
112
+ err = clk_hw_register(NULL, hw_clk);
113
+ if (err) {
111114 kfree(pll_clk);
112
- return NULL;
115
+ return ERR_PTR(err);
113116 }
114
- rc = of_clk_add_provider(node, of_clk_src_simple_get, clk);
115
- return clk;
117
+ rc = of_clk_add_provider(node, of_clk_src_simple_get, hw_clk);
118
+ return hw_clk;
116119 }
117120
118121 void __init socfpga_pll_init(struct device_node *node)