From: s.nawrocki@samsung.com (Sylwester Nawrocki)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V4 3/3] ARM: SAMSUNG: Add lookup of sdhci-s3c clocks using generic names
Date: Wed, 12 Oct 2011 12:24:27 +0200 [thread overview]
Message-ID: <4E956ADB.3060604@samsung.com> (raw)
In-Reply-To: <1318412587-29987-4-git-send-email-rajeshwari.s@samsung.com>
Hi Rajeshwari,
On 10/12/2011 11:43 AM, Rajeshwari Shinde wrote:
> Add support for lookup of sdhci-s3c controller clocks using generic names
> for s3c2416, s3c64xx, s5pc100, s5pv210 and exynos4 SoC's.
>
> Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
> ---
> arch/arm/mach-exynos4/clock.c | 88 ++++++++++-------
> arch/arm/mach-s3c2416/clock.c | 68 +++++++------
> arch/arm/mach-s3c64xx/clock.c | 126 +++++++++++++++----------
> arch/arm/mach-s5pc100/clock.c | 130 ++++++++++++++++----------
> arch/arm/mach-s5pv210/clock.c | 167 ++++++++++++++++++++-------------
> arch/arm/plat-s3c24xx/s3c2443-clock.c | 15 ++-
> 6 files changed, 359 insertions(+), 235 deletions(-)
>
> diff --git a/arch/arm/mach-exynos4/clock.c b/arch/arm/mach-exynos4/clock.c
> index 9f50e33..c6383b9 100644
> --- a/arch/arm/mach-exynos4/clock.c
> +++ b/arch/arm/mach-exynos4/clock.c
> @@ -1157,42 +1157,6 @@ static struct clksrc_clk clksrcs[] = {
> .reg_div = { .reg = S5P_CLKDIV_MFC, .shift = 0, .size = 4 },
> }, {
> .clk = {
> - .name = "sclk_mmc",
> - .devname = "s3c-sdhci.0",
> - .parent = &clk_dout_mmc0.clk,
> - .enable = exynos4_clksrc_mask_fsys_ctrl,
> - .ctrlbit = (1 << 0),
> - },
> - .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 8, .size = 8 },
> - }, {
> - .clk = {
> - .name = "sclk_mmc",
> - .devname = "s3c-sdhci.1",
> - .parent = &clk_dout_mmc1.clk,
> - .enable = exynos4_clksrc_mask_fsys_ctrl,
> - .ctrlbit = (1 << 4),
> - },
> - .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 24, .size = 8 },
> - }, {
> - .clk = {
> - .name = "sclk_mmc",
> - .devname = "s3c-sdhci.2",
> - .parent = &clk_dout_mmc2.clk,
> - .enable = exynos4_clksrc_mask_fsys_ctrl,
> - .ctrlbit = (1 << 8),
> - },
> - .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 8, .size = 8 },
> - }, {
> - .clk = {
> - .name = "sclk_mmc",
> - .devname = "s3c-sdhci.3",
> - .parent = &clk_dout_mmc3.clk,
> - .enable = exynos4_clksrc_mask_fsys_ctrl,
> - .ctrlbit = (1 << 12),
> - },
> - .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 },
> - }, {
> - .clk = {
> .name = "sclk_dwmmc",
> .parent = &clk_dout_mmc4.clk,
> .enable = exynos4_clksrc_mask_fsys_ctrl,
> @@ -1250,6 +1214,50 @@ static struct clksrc_clk clk_sclk_uart3 = {
> .reg_div = { .reg = S5P_CLKDIV_PERIL0, .shift = 12, .size = 4 },
> };
>
> +static struct clksrc_clk clk_sclk_mmc0 = {
> + .clk = {
> + .name = "sclk_mmc",
> + .devname = "s3c-sdhci.0",
Would it make sense to drop this 'devname' field here and others
until sclk_mmc3 ....
> + .parent = &clk_dout_mmc0.clk,
> + .enable = exynos4_clksrc_mask_fsys_ctrl,
> + .ctrlbit = (1 << 0),
> + },
> + .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 8, .size = 8 },
> +};
> +
> +static struct clksrc_clk clk_sclk_mmc1 = {
> + .clk = {
> + .name = "sclk_mmc",
> + .devname = "s3c-sdhci.1",
> + .parent = &clk_dout_mmc1.clk,
> + .enable = exynos4_clksrc_mask_fsys_ctrl,
> + .ctrlbit = (1 << 4),
> + },
> + .reg_div = { .reg = S5P_CLKDIV_FSYS1, .shift = 24, .size = 8 },
> +};
> +
> +static struct clksrc_clk clk_sclk_mmc2 = {
> + .clk = {
> + .name = "sclk_mmc",
> + .devname = "s3c-sdhci.2",
> + .parent = &clk_dout_mmc2.clk,
> + .enable = exynos4_clksrc_mask_fsys_ctrl,
> + .ctrlbit = (1 << 8),
> + },
> + .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 8, .size = 8 },
> +};
> +
> +static struct clksrc_clk clk_sclk_mmc3 = {
> + .clk = {
> + .name = "sclk_mmc",
> + .devname = "s3c-sdhci.3",
> + .parent = &clk_dout_mmc3.clk,
> + .enable = exynos4_clksrc_mask_fsys_ctrl,
> + .ctrlbit = (1 << 12),
> + },
> + .reg_div = { .reg = S5P_CLKDIV_FSYS2, .shift = 24, .size = 8 },
> +};
> +
> /* Clock initialization code */
> static struct clksrc_clk *sysclks[] = {
> &clk_mout_apll,
> @@ -1289,6 +1297,10 @@ static struct clksrc_clk *clksrc_cdev[] = {
> &clk_sclk_uart1,
> &clk_sclk_uart2,
> &clk_sclk_uart3,
> + &clk_sclk_mmc0,
> + &clk_sclk_mmc1,
> + &clk_sclk_mmc2,
> + &clk_sclk_mmc3,
..then drop the above 4 lines...
> };
>
> static struct clk_lookup exynos4_clk_lookup[] = {
> @@ -1296,6 +1308,10 @@ static struct clk_lookup exynos4_clk_lookup[] = {
> CLKDEV_INIT("exynos4210-uart.1", "clk_uart_baud0", &clk_sclk_uart1.clk),
> CLKDEV_INIT("exynos4210-uart.2", "clk_uart_baud0", &clk_sclk_uart2.clk),
> CLKDEV_INIT("exynos4210-uart.3", "clk_uart_baud0", &clk_sclk_uart3.clk),
> + CLKDEV_INIT("exynos4-sdhci.0", "mmc_busclk.2", &clk_sclk_mmc0.clk),
> + CLKDEV_INIT("exynos4-sdhci.1", "mmc_busclk.2", &clk_sclk_mmc1.clk),
> + CLKDEV_INIT("exynos4-sdhci.2", "mmc_busclk.2", &clk_sclk_mmc2.clk),
> + CLKDEV_INIT("exynos4-sdhci.3", "mmc_busclk.2", &clk_sclk_mmc3.clk),
..and add something like:
+ CLKDEV_INIT("s3c-sdhci.0", "sclk_mmc", &clk_sclk_mmc0.clk),
+ CLKDEV_INIT("s3c-sdhci.1", "sclk_mmc", &clk_sclk_mmc1.clk),
+ CLKDEV_INIT("s3c-sdhci.2", "sclk_mmc", &clk_sclk_mmc2.clk),
+ CLKDEV_INIT("s3c-sdhci.3", "sclk_mmc", &clk_sclk_mmc3.clk),
?
Also I'm wondering why we're using different device names for clk_sclk_mmc0..3
clocks, i.e. exynos4-sdhci.? and s3c-sdhci.? ?
Does it all work on exynos ? I would expect the device name to be same
across all the clock definitions, otherwise clk_get(dev, ..) will fail.
> };
>
Regards
--
Sylwester Nawrocki
Samsung Poland R&D Center
next prev parent reply other threads:[~2011-10-12 10:24 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-12 9:43 [PATCH V3 0/3] ARM: SAMSUNG: Add support for sdhci clock lookup using generic names Rajeshwari Shinde
2011-10-12 9:43 ` [PATCH V3 1/3] SDHCI: S3C: Use generic clock names for sdhci bus clock options Rajeshwari Shinde
2011-10-12 9:43 ` [PATCH V3 2/3] ARM: SAMSUNG: Remove SDHCI bus clocks from platform data Rajeshwari Shinde
2011-10-12 9:43 ` [PATCH V4 3/3] ARM: SAMSUNG: Add lookup of sdhci-s3c clocks using generic names Rajeshwari Shinde
2011-10-12 10:24 ` Sylwester Nawrocki [this message]
2011-10-12 12:36 ` Rajeshwari Birje
2011-10-12 16:19 ` Sylwester Nawrocki
2011-10-13 7:16 ` Rajeshwari Birje
2011-10-13 7:55 ` Sylwester Nawrocki
2011-10-13 8:55 ` Russell King - ARM Linux
2011-10-13 9:40 ` Sylwester Nawrocki
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=4E956ADB.3060604@samsung.com \
--to=s.nawrocki@samsung.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).