| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (c) 2013 Samsung Electronics Co., Ltd. |
|---|
| 3 | 4 | * Copyright (c) 2013 Linaro Ltd. |
|---|
| 4 | | - * |
|---|
| 5 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 6 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 7 | | - * published by the Free Software Foundation. |
|---|
| 8 | 5 | * |
|---|
| 9 | 6 | * This file contains the utility functions to register the pll clocks. |
|---|
| 10 | 7 | */ |
|---|
| .. | .. |
|---|
| 13 | 10 | #include <linux/hrtimer.h> |
|---|
| 14 | 11 | #include <linux/delay.h> |
|---|
| 15 | 12 | #include <linux/slab.h> |
|---|
| 16 | | -#include <linux/clkdev.h> |
|---|
| 13 | +#include <linux/clk-provider.h> |
|---|
| 14 | +#include <linux/io.h> |
|---|
| 17 | 15 | #include "clk.h" |
|---|
| 18 | 16 | #include "clk-pll.h" |
|---|
| 19 | 17 | |
|---|
| .. | .. |
|---|
| 1253 | 1251 | void __iomem *base) |
|---|
| 1254 | 1252 | { |
|---|
| 1255 | 1253 | struct samsung_clk_pll *pll; |
|---|
| 1256 | | - struct clk_init_data init = {}; |
|---|
| 1254 | + struct clk_init_data init; |
|---|
| 1257 | 1255 | int ret, len; |
|---|
| 1258 | 1256 | |
|---|
| 1259 | 1257 | pll = kzalloc(sizeof(*pll), GFP_KERNEL); |
|---|
| .. | .. |
|---|
| 1392 | 1390 | if (ret) { |
|---|
| 1393 | 1391 | pr_err("%s: failed to register pll clock %s : %d\n", |
|---|
| 1394 | 1392 | __func__, pll_clk->name, ret); |
|---|
| 1393 | + kfree(pll->rate_table); |
|---|
| 1395 | 1394 | kfree(pll); |
|---|
| 1396 | 1395 | return; |
|---|
| 1397 | 1396 | } |
|---|