From: Javier Martinez Canillas <javier.martinez@collabora.co.uk> To: Stephen Boyd <sboyd@codeaurora.org> Cc: Mike Turquette <mturquette@linaro.org>, Sylwester Nawrocki <s.nawrocki@samsung.com>, Tomasz Figa <tomasz.figa@gmail.com>, Kukjin Kim <kgene@kernel.org>, Olof Johansson <olof@lixom.net>, Doug Anderson <dianders@chromium.org>, Krzysztof Kozlowski <k.kozlowski@samsung.com>, Kevin Hilman <khilman@linaro.org>, Tyler Baker <tyler.baker@linaro.org>, Abhilash Kesavan <kesavan.abhilash@gmail.com>, Chanwoo Choi <cw00.choi@samsung.com>, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Javier Martinez Canillas <javier.martinez@collabora.co.uk> Subject: [RFC PATCH v3 1/2] clk: samsung: Add a clock lookup function Date: Mon, 30 Mar 2015 17:53:21 +0200 [thread overview] Message-ID: <1427730803-28635-2-git-send-email-javier.martinez@collabora.co.uk> (raw) In-Reply-To: <1427730803-28635-1-git-send-email-javier.martinez@collabora.co.uk> The Samsung helpers functions to register clocks, add the clock instance returned by the common clock framework to a lookup table that is used by OF to lookup the clocks. But this table could also be useful to clock drivers if they need to get a clock instance since the helper functions don't return them. The common clock framework __clk_lookup() function from the clk provider API could be used by drivers as well. But it's more efficient to use the Samsung specific lookup table that returns the clock instance in constant time, than using the __clk_lookup() function that uses the clock name as an index so it has a linear search time. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- drivers/clk/samsung/clk.c | 6 ++++++ drivers/clk/samsung/clk.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c index 9e1f88c04fd4..3b2868a70774 100644 --- a/drivers/clk/samsung/clk.c +++ b/drivers/clk/samsung/clk.c @@ -96,6 +96,12 @@ void samsung_clk_add_lookup(struct samsung_clk_provider *ctx, struct clk *clk, ctx->clk_data.clks[id] = clk; } +struct clk *samsung_clk_lookup(struct samsung_clk_provider *ctx, + unsigned int id) +{ + return ctx->clk_data.clks ? ctx->clk_data.clks[id] : NULL; +} + /* register a list of aliases */ void __init samsung_clk_register_alias(struct samsung_clk_provider *ctx, struct samsung_clock_alias *list, diff --git a/drivers/clk/samsung/clk.h b/drivers/clk/samsung/clk.h index e4c75383cea7..ad04220bd733 100644 --- a/drivers/clk/samsung/clk.h +++ b/drivers/clk/samsung/clk.h @@ -368,6 +368,9 @@ extern void __init samsung_clk_of_register_fixed_ext( extern void samsung_clk_add_lookup(struct samsung_clk_provider *ctx, struct clk *clk, unsigned int id); +extern struct clk *samsung_clk_lookup(struct samsung_clk_provider *ctx, + unsigned int id); + extern void samsung_clk_register_alias(struct samsung_clk_provider *ctx, struct samsung_clock_alias *list, unsigned int nr_clk); -- 2.1.4
WARNING: multiple messages have this Message-ID (diff)
From: javier.martinez@collabora.co.uk (Javier Martinez Canillas) To: linux-arm-kernel@lists.infradead.org Subject: [RFC PATCH v3 1/2] clk: samsung: Add a clock lookup function Date: Mon, 30 Mar 2015 17:53:21 +0200 [thread overview] Message-ID: <1427730803-28635-2-git-send-email-javier.martinez@collabora.co.uk> (raw) In-Reply-To: <1427730803-28635-1-git-send-email-javier.martinez@collabora.co.uk> The Samsung helpers functions to register clocks, add the clock instance returned by the common clock framework to a lookup table that is used by OF to lookup the clocks. But this table could also be useful to clock drivers if they need to get a clock instance since the helper functions don't return them. The common clock framework __clk_lookup() function from the clk provider API could be used by drivers as well. But it's more efficient to use the Samsung specific lookup table that returns the clock instance in constant time, than using the __clk_lookup() function that uses the clock name as an index so it has a linear search time. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- drivers/clk/samsung/clk.c | 6 ++++++ drivers/clk/samsung/clk.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c index 9e1f88c04fd4..3b2868a70774 100644 --- a/drivers/clk/samsung/clk.c +++ b/drivers/clk/samsung/clk.c @@ -96,6 +96,12 @@ void samsung_clk_add_lookup(struct samsung_clk_provider *ctx, struct clk *clk, ctx->clk_data.clks[id] = clk; } +struct clk *samsung_clk_lookup(struct samsung_clk_provider *ctx, + unsigned int id) +{ + return ctx->clk_data.clks ? ctx->clk_data.clks[id] : NULL; +} + /* register a list of aliases */ void __init samsung_clk_register_alias(struct samsung_clk_provider *ctx, struct samsung_clock_alias *list, diff --git a/drivers/clk/samsung/clk.h b/drivers/clk/samsung/clk.h index e4c75383cea7..ad04220bd733 100644 --- a/drivers/clk/samsung/clk.h +++ b/drivers/clk/samsung/clk.h @@ -368,6 +368,9 @@ extern void __init samsung_clk_of_register_fixed_ext( extern void samsung_clk_add_lookup(struct samsung_clk_provider *ctx, struct clk *clk, unsigned int id); +extern struct clk *samsung_clk_lookup(struct samsung_clk_provider *ctx, + unsigned int id); + extern void samsung_clk_register_alias(struct samsung_clk_provider *ctx, struct samsung_clock_alias *list, unsigned int nr_clk); -- 2.1.4
next prev parent reply other threads:[~2015-03-30 15:53 UTC|newest] Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-03-30 15:53 [RFC PATCH v3 0/2] ARM: EXYNOS: Fix Suspend-to-RAM on Exynos5420 Javier Martinez Canillas 2015-03-30 15:53 ` Javier Martinez Canillas 2015-03-30 15:53 ` Javier Martinez Canillas [this message] 2015-03-30 15:53 ` [RFC PATCH v3 1/2] clk: samsung: Add a clock lookup function Javier Martinez Canillas 2015-03-30 16:02 ` Tomasz Figa 2015-03-30 16:02 ` Tomasz Figa 2015-03-30 16:02 ` Tomasz Figa 2015-03-30 16:08 ` Javier Martinez Canillas 2015-03-30 16:08 ` Javier Martinez Canillas 2015-03-30 16:08 ` Javier Martinez Canillas 2015-03-31 1:40 ` Michael Turquette 2015-03-31 1:40 ` Michael Turquette 2015-03-31 1:40 ` Michael Turquette 2015-03-31 8:59 ` Javier Martinez Canillas 2015-03-31 8:59 ` Javier Martinez Canillas 2015-03-31 8:59 ` Javier Martinez Canillas 2015-04-01 1:29 ` Michael Turquette 2015-04-01 1:29 ` Michael Turquette 2015-04-01 1:29 ` Michael Turquette 2015-04-01 8:26 ` Javier Martinez Canillas 2015-04-01 8:26 ` Javier Martinez Canillas 2015-04-01 8:26 ` Javier Martinez Canillas 2015-03-30 15:53 ` [RFC PATCH v3 2/2] clk: exynos5420: Make sure MDMA0 clock is enabled during suspend Javier Martinez Canillas 2015-03-30 15:53 ` Javier Martinez Canillas 2015-03-30 16:07 ` Tomasz Figa 2015-03-30 16:07 ` Tomasz Figa 2015-03-30 16:07 ` Tomasz Figa 2015-03-30 16:16 ` Javier Martinez Canillas 2015-03-30 16:16 ` Javier Martinez Canillas 2015-03-30 16:16 ` Javier Martinez Canillas [not found] ` <CAM4voanL3A=dS8Z-ovi_-EDi9ctyaxZkvjajp+3ZjyNAnqR1aQ@mail.gmail.com> 2015-03-31 20:00 ` Javier Martinez Canillas 2015-03-31 20:00 ` Javier Martinez Canillas 2015-03-31 20:00 ` Javier Martinez Canillas 2015-04-01 11:03 ` Sylwester Nawrocki 2015-04-01 11:03 ` Sylwester Nawrocki 2015-04-01 11:03 ` Sylwester Nawrocki 2015-04-01 11:44 ` Javier Martinez Canillas 2015-04-01 11:44 ` Javier Martinez Canillas 2015-04-01 11:44 ` Javier Martinez Canillas 2015-04-01 17:31 ` Sylwester Nawrocki 2015-04-01 17:31 ` Sylwester Nawrocki 2015-04-01 17:31 ` Sylwester Nawrocki 2015-04-01 22:31 ` Javier Martinez Canillas 2015-04-01 22:31 ` Javier Martinez Canillas 2015-04-01 22:31 ` Javier Martinez Canillas 2015-04-02 12:22 ` Abhilash Kesavan 2015-04-02 12:22 ` Abhilash Kesavan 2015-04-02 12:22 ` Abhilash Kesavan 2015-04-07 10:59 ` Javier Martinez Canillas 2015-04-07 10:59 ` Javier Martinez Canillas 2015-04-07 10:59 ` Javier Martinez Canillas 2015-04-07 11:56 ` Javier Martinez Canillas 2015-04-07 11:56 ` Javier Martinez Canillas 2015-04-07 11:56 ` Javier Martinez Canillas 2015-04-07 12:46 ` Tomasz Figa 2015-04-07 12:46 ` Tomasz Figa 2015-04-07 12:46 ` Tomasz Figa 2015-04-07 14:11 ` Javier Martinez Canillas 2015-04-07 14:11 ` Javier Martinez Canillas 2015-04-07 14:11 ` Javier Martinez Canillas 2015-04-07 14:38 ` Abhilash Kesavan 2015-04-07 14:38 ` Abhilash Kesavan 2015-04-07 14:38 ` Abhilash Kesavan 2015-04-07 15:00 ` Javier Martinez Canillas 2015-04-07 15:00 ` Javier Martinez Canillas 2015-04-07 15:00 ` Javier Martinez Canillas 2015-04-08 1:50 ` Abhilash Kesavan 2015-04-08 1:50 ` Abhilash Kesavan 2015-04-08 1:50 ` Abhilash Kesavan 2015-04-07 18:51 ` Kevin Hilman 2015-04-07 18:51 ` Kevin Hilman 2015-04-07 18:51 ` Kevin Hilman 2015-04-07 21:28 ` Tomasz Figa 2015-04-07 21:28 ` Tomasz Figa 2015-04-07 21:28 ` Tomasz Figa 2015-04-08 5:36 ` Javier Martinez Canillas 2015-04-08 5:36 ` Javier Martinez Canillas 2015-04-08 5:36 ` Javier Martinez Canillas 2015-04-07 14:11 ` Abhilash Kesavan 2015-04-07 14:11 ` Abhilash Kesavan 2015-04-07 14:11 ` Abhilash Kesavan 2015-04-07 14:26 ` Javier Martinez Canillas 2015-04-07 14:26 ` Javier Martinez Canillas 2015-04-07 14:26 ` Javier Martinez Canillas 2015-03-31 21:02 ` Kevin Hilman 2015-03-31 21:02 ` Kevin Hilman 2015-03-31 21:02 ` Kevin Hilman 2015-04-01 3:19 ` Abhilash Kesavan 2015-04-01 3:19 ` Abhilash Kesavan 2015-04-01 3:19 ` Abhilash Kesavan 2015-04-01 4:03 ` Kevin Hilman 2015-04-01 4:03 ` Kevin Hilman 2015-04-01 4:03 ` Kevin Hilman 2015-04-01 9:16 ` Krzysztof Kozlowski 2015-04-01 9:16 ` Krzysztof Kozlowski 2015-04-01 9:16 ` Krzysztof Kozlowski 2015-04-01 19:02 ` Michael Turquette 2015-04-01 19:02 ` Michael Turquette 2015-04-01 19:02 ` Michael Turquette
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=1427730803-28635-2-git-send-email-javier.martinez@collabora.co.uk \ --to=javier.martinez@collabora.co.uk \ --cc=cw00.choi@samsung.com \ --cc=dianders@chromium.org \ --cc=k.kozlowski@samsung.com \ --cc=kesavan.abhilash@gmail.com \ --cc=kgene@kernel.org \ --cc=khilman@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=mturquette@linaro.org \ --cc=olof@lixom.net \ --cc=s.nawrocki@samsung.com \ --cc=sboyd@codeaurora.org \ --cc=tomasz.figa@gmail.com \ --cc=tyler.baker@linaro.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: linkBe 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.