From: mturquette@linaro.org (Mike Turquette)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 04/11] clk: sunxi: make factors_clk_setup return the clock it registers
Date: Tue, 17 Dec 2013 19:01:40 -0800 [thread overview]
Message-ID: <20131218030140.23538.40290@quantum> (raw)
In-Reply-To: <1387327503-15651-5-git-send-email-emilio@elopez.com.ar>
Quoting Emilio L?pez (2013-12-17 16:44:56)
> We will be needing this to register a factor clock as parent with leaf
> divisors on a single call. While at it, also prepare the function to set
> the ignore flag on pll5, so our RAM keeps working.
>
> Signed-off-by: Emilio L?pez <emilio@elopez.com.ar>
> ---
> drivers/clk/sunxi/clk-sunxi.c | 19 ++++++++++++-------
> 1 file changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
> index 5b86234..401169b 100644
> --- a/drivers/clk/sunxi/clk-sunxi.c
> +++ b/drivers/clk/sunxi/clk-sunxi.c
> @@ -308,8 +308,8 @@ static const struct factors_data sun4i_apb1_data __initconst = {
> .getter = sun4i_get_apb1_factors,
> };
>
> -static void __init sunxi_factors_clk_setup(struct device_node *node,
> - struct factors_data *data)
> +static struct clk * __init sunxi_factors_clk_setup(struct device_node *node,
> + const struct factors_data *data)
> {
> struct clk *clk;
> struct clk_factors *factors;
> @@ -320,6 +320,7 @@ static void __init sunxi_factors_clk_setup(struct device_node *node,
> const char *clk_name = node->name;
> const char *parents[5];
> void *reg;
> + unsigned long flags;
> int i = 0;
>
> reg = of_iomap(node, 0);
> @@ -330,14 +331,14 @@ static void __init sunxi_factors_clk_setup(struct device_node *node,
>
> factors = kzalloc(sizeof(struct clk_factors), GFP_KERNEL);
> if (!factors)
> - return;
> + return NULL;
>
> /* Add a gate if this factor clock can be gated */
> if (data->enable) {
> gate = kzalloc(sizeof(struct clk_gate), GFP_KERNEL);
> if (!gate) {
> kfree(factors);
> - return;
> + return NULL;
> }
>
> /* set up gate properties */
> @@ -353,7 +354,7 @@ static void __init sunxi_factors_clk_setup(struct device_node *node,
> if (!mux) {
> kfree(factors);
> kfree(gate);
> - return;
> + return NULL;
> }
>
> /* set up gate properties */
> @@ -370,17 +371,21 @@ static void __init sunxi_factors_clk_setup(struct device_node *node,
> factors->get_factors = data->getter;
> factors->lock = &clk_lock;
>
> + /* We should not disable pll5, it powers the RAM */
> + flags = !strcmp("pll5", clk_name) ? CLK_IGNORE_UNUSED : 0;
For hardware-agnostic flags like CLK_IGNORE_UNUSED I think that we can
add a property to the binding description instead of hard-coding a
string name in here.
Rest of the patch looks good to me. Ack.
Regards,
Mike
> +
> clk = clk_register_composite(NULL, clk_name,
> parents, i,
> mux_hw, &clk_mux_ops,
> &factors->hw, &clk_factors_ops,
> - gate_hw, &clk_gate_ops,
> - i ? 0 : CLK_IS_ROOT);
> + gate_hw, &clk_gate_ops, flags);
>
> if (!IS_ERR(clk)) {
> of_clk_add_provider(node, of_clk_src_simple_get, clk);
> clk_register_clkdev(clk, clk_name, NULL);
> }
> +
> + return clk;
> }
>
>
> --
> 1.8.5.1
>
next prev parent reply other threads:[~2013-12-18 3:01 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-18 0:44 [PATCH v2 00/11] clk: sunxi: PLL4/5/6, mod0 and mbus support Emilio López
2013-12-18 0:44 ` [PATCH v2 01/11] clk: sunxi: register factors clocks behind composite Emilio López
2013-12-18 2:55 ` Mike Turquette
2013-12-18 11:27 ` Emilio López
2013-12-18 0:44 ` [PATCH v2 02/11] clk: sunxi: add gating support to PLL1 Emilio López
2013-12-18 2:57 ` Mike Turquette
2013-12-18 0:44 ` [PATCH v2 03/11] ARM: sunxi: add PLL4 support Emilio López
2013-12-18 0:44 ` [PATCH v2 04/11] clk: sunxi: make factors_clk_setup return the clock it registers Emilio López
2013-12-18 3:01 ` Mike Turquette [this message]
2013-12-18 11:34 ` Emilio López
2013-12-18 0:44 ` [PATCH v2 05/11] clk: sunxi: add PLL5 and PLL6 support Emilio López
2013-12-19 4:59 ` Mike Turquette
2013-12-21 2:26 ` Emilio López
2013-12-18 0:44 ` [PATCH v2 06/11] ARM: " Emilio López
2013-12-18 0:44 ` [PATCH v2 07/11] clk: sunxi: mod0 support Emilio López
2013-12-19 4:59 ` Mike Turquette
2013-12-18 0:45 ` [PATCH v2 08/11] ARM: sun4i: dt: mod0 clocks Emilio López
2013-12-18 9:48 ` Maxime Ripard
2013-12-18 11:40 ` Emilio López
2013-12-18 0:45 ` [PATCH v2 09/11] ARM: sun5i: " Emilio López
2013-12-18 0:45 ` [PATCH v2 10/11] ARM: sun7i: " Emilio López
2013-12-18 0:45 ` [PATCH v2 11/11] ARM: sunxi: dt: add nodes for the mbus clock Emilio López
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=20131218030140.23538.40290@quantum \
--to=mturquette@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.