hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/clk/socfpga/clk-periph.c
....@@ -1,19 +1,9 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * Copyright 2011-2012 Calxeda, Inc.
34 * Copyright (C) 2012-2013 Altera Corporation <www.altera.com>
45 *
5
- * This program is free software; you can redistribute it and/or modify
6
- * it under the terms of the GNU General Public License as published by
7
- * the Free Software Foundation; either version 2 of the License, or
8
- * (at your option) any later version.
9
- *
10
- * This program is distributed in the hope that it will be useful,
11
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
- * GNU General Public License for more details.
14
- *
156 * Based from clk-highbank.c
16
- *
177 */
188 #include <linux/slab.h>
199 #include <linux/clk-provider.h>
....@@ -61,11 +51,11 @@
6151 const struct clk_ops *ops)
6252 {
6353 u32 reg;
64
- struct clk *clk;
54
+ struct clk_hw *hw_clk;
6555 struct socfpga_periph_clk *periph_clk;
6656 const char *clk_name = node->name;
6757 const char *parent_name[SOCFPGA_MAX_PARENTS];
68
- struct clk_init_data init = {};
58
+ struct clk_init_data init;
6959 int rc;
7060 u32 fixed_div;
7161 u32 div_reg[3];
....@@ -104,13 +94,13 @@
10494 init.parent_names = parent_name;
10595
10696 periph_clk->hw.hw.init = &init;
97
+ hw_clk = &periph_clk->hw.hw;
10798
108
- clk = clk_register(NULL, &periph_clk->hw.hw);
109
- if (WARN_ON(IS_ERR(clk))) {
99
+ if (clk_hw_register(NULL, hw_clk)) {
110100 kfree(periph_clk);
111101 return;
112102 }
113
- rc = of_clk_add_provider(node, of_clk_src_simple_get, clk);
103
+ rc = of_clk_add_provider(node, of_clk_src_simple_get, hw_clk);
114104 }
115105
116106 void __init socfpga_periph_init(struct device_node *node)