From: David Lechner <david@lechnology.com>
To: linux-clk@vger.kernel.org
Cc: "David Lechner" <david@lechnology.com>,
"Michael Turquette" <mturquette@baylibre.com>,
"Stephen Boyd" <sboyd@codeaurora.org>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"Heiko Stuebner" <heiko@sntech.de>,
"Emilio López" <emilio@elopez.com.ar>,
"Maxime Ripard" <maxime.ripard@free-electrons.com>,
"Chen-Yu Tsai" <wens@csie.org>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
linux-rockchip@lists.infradead.org
Subject: [PATCH 6/7] clk: st: make use of clk_alloc_onecell_data()
Date: Thu, 4 Jan 2018 18:38:11 -0600 [thread overview]
Message-ID: <1515112695-3160-7-git-send-email-david@lechnology.com> (raw)
In-Reply-To: <1515112695-3160-1-git-send-email-david@lechnology.com>
Use helper function clk_alloc_onecell_data() to allocate struct
clk_onecell_data.
Signed-off-by: David Lechner <david@lechnology.com>
---
drivers/clk/st/clk-flexgen.c | 17 +++++------------
drivers/clk/st/clkgen-fsyn.c | 11 +----------
drivers/clk/st/clkgen-pll.c | 12 ++----------
3 files changed, 8 insertions(+), 32 deletions(-)
diff --git a/drivers/clk/st/clk-flexgen.c b/drivers/clk/st/clk-flexgen.c
index 918ba31..29ff00d 100644
--- a/drivers/clk/st/clk-flexgen.c
+++ b/drivers/clk/st/clk-flexgen.c
@@ -310,7 +310,7 @@ static void __init st_of_flexgen_setup(struct device_node *np)
{
struct device_node *pnode;
void __iomem *reg;
- struct clk_onecell_data *clk_data;
+ struct clk_onecell_data *clk_data = NULL;
const char **parents;
int num_parents, i;
spinlock_t *rlock = NULL;
@@ -341,21 +341,15 @@ static void __init st_of_flexgen_setup(struct device_node *np)
clk_mode = data->mode;
}
- clk_data = kzalloc(sizeof(*clk_data), GFP_KERNEL);
- if (!clk_data)
- goto err;
-
ret = of_property_count_strings(np, "clock-output-names");
if (ret <= 0) {
pr_err("%s: Failed to get number of output clocks (%d)",
- __func__, clk_data->clk_num);
+ __func__, ret);
goto err;
}
- clk_data->clk_num = ret;
- clk_data->clks = kcalloc(clk_data->clk_num, sizeof(struct clk *),
- GFP_KERNEL);
- if (!clk_data->clks)
+ clk_data = clk_alloc_onecell_data(ret);
+ if (!clk_data)
goto err;
rlock = kzalloc(sizeof(spinlock_t), GFP_KERNEL);
@@ -397,8 +391,7 @@ static void __init st_of_flexgen_setup(struct device_node *np)
err:
iounmap(reg);
- if (clk_data)
- kfree(clk_data->clks);
+ clk_free_onecell_data(clk_data);
kfree(clk_data);
kfree(parents);
kfree(rlock);
diff --git a/drivers/clk/st/clkgen-fsyn.c b/drivers/clk/st/clkgen-fsyn.c
index 14819d9..48e6bff 100644
--- a/drivers/clk/st/clkgen-fsyn.c
+++ b/drivers/clk/st/clkgen-fsyn.c
@@ -869,19 +869,10 @@ static void __init st_of_create_quadfs_fsynths(
struct clk_onecell_data *clk_data;
int fschan;
- clk_data = kzalloc(sizeof(*clk_data), GFP_KERNEL);
+ clk_data = clk_alloc_onecell_data(QUADFS_MAX_CHAN);
if (!clk_data)
return;
- clk_data->clk_num = QUADFS_MAX_CHAN;
- clk_data->clks = kzalloc(QUADFS_MAX_CHAN * sizeof(struct clk *),
- GFP_KERNEL);
-
- if (!clk_data->clks) {
- kfree(clk_data);
- return;
- }
-
for (fschan = 0; fschan < QUADFS_MAX_CHAN; fschan++) {
struct clk *clk;
const char *clk_name;
diff --git a/drivers/clk/st/clkgen-pll.c b/drivers/clk/st/clkgen-pll.c
index 25bda48..07795ee 100644
--- a/drivers/clk/st/clkgen-pll.c
+++ b/drivers/clk/st/clkgen-pll.c
@@ -733,17 +733,10 @@ static void __init clkgen_c32_pll_setup(struct device_node *np,
num_odfs = data->num_odfs;
- clk_data = kzalloc(sizeof(*clk_data), GFP_KERNEL);
+ clk_data = clk_alloc_onecell_data(num_odfs);
if (!clk_data)
return;
- clk_data->clk_num = num_odfs;
- clk_data->clks = kzalloc(clk_data->clk_num * sizeof(struct clk *),
- GFP_KERNEL);
-
- if (!clk_data->clks)
- goto err;
-
for (odf = 0; odf < num_odfs; odf++) {
struct clk *clk;
const char *clk_name;
@@ -768,8 +761,7 @@ static void __init clkgen_c32_pll_setup(struct device_node *np,
err:
kfree(pll_name);
- kfree(clk_data->clks);
- kfree(clk_data);
+ clk_free_onecell_data(clk_data);
}
static void __init clkgen_c32_pll0_setup(struct device_node *np)
{
--
2.7.4
next prev parent reply other threads:[~2018-01-05 0:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-05 0:38 [PATCH 0/7] clk: add helper functions for managing clk_onecell_data David Lechner
2018-01-05 0:38 ` [PATCH 1/7] " David Lechner
2018-01-05 0:38 ` [PATCH 2/7] clk: mediatek: make use of clk_alloc_onecell_data() David Lechner
2018-01-05 0:38 ` [PATCH 3/7] clk: qoriq: " David Lechner
2018-01-05 0:38 ` [PATCH 4/7] clk: hisilicon: " David Lechner
2018-01-05 0:38 ` [PATCH 5/7] clk: rockchip: " David Lechner
2018-01-05 0:38 ` David Lechner [this message]
2018-01-05 0:38 ` [PATCH 7/7] clk: sunxi: " David Lechner
2018-03-16 22:29 ` [PATCH 0/7] clk: add helper functions for managing clk_onecell_data Stephen Boyd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1515112695-3160-7-git-send-email-david@lechnology.com \
--to=david@lechnology.com \
--cc=emilio@elopez.com.ar \
--cc=heiko@sntech.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=maxime.ripard@free-electrons.com \
--cc=mturquette@baylibre.com \
--cc=sboyd@codeaurora.org \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox