hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/drivers/clk/clk-oxnas.c
....@@ -1,19 +1,8 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Copyright (C) 2010 Broadcom
34 * Copyright (C) 2012 Stephen Warren
45 * Copyright (C) 2016 Neil Armstrong <narmstrong@baylibre.com>
5
- *
6
- * This program is free software; you can redistribute it and/or modify it
7
- * under the terms and conditions of the GNU General Public License,
8
- * version 2, as published by the Free Software Foundation.
9
- *
10
- * This program is distributed in the hope it will be useful, but WITHOUT
11
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13
- * more details.
14
- *
15
- * You should have received a copy of the GNU General Public License
16
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
176 */
187
198 #include <linux/clk-provider.h>
....@@ -218,7 +207,7 @@
218207
219208 static int oxnas_stdclk_probe(struct platform_device *pdev)
220209 {
221
- struct device_node *np = pdev->dev.of_node;
210
+ struct device_node *np = pdev->dev.of_node, *parent_np;
222211 const struct oxnas_stdclk_data *data;
223212 const struct of_device_id *id;
224213 struct regmap *regmap;
....@@ -230,7 +219,9 @@
230219 return -ENODEV;
231220 data = id->data;
232221
233
- regmap = syscon_node_to_regmap(of_get_parent(np));
222
+ parent_np = of_get_parent(np);
223
+ regmap = syscon_node_to_regmap(parent_np);
224
+ of_node_put(parent_np);
234225 if (IS_ERR(regmap)) {
235226 dev_err(&pdev->dev, "failed to have parent regmap\n");
236227 return PTR_ERR(regmap);