All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: Kukjin Kim <kgene.kim@samsung.com>
Cc: mturquette@linaro.org, linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org,
	Thomas Abraham <thomas.abraham@linaro.org>,
	Sylwester Nawrocki <sylvester.nawrocki@gmail.com>,
	t.figa@samsung.com
Subject: [PATCH v2 2/4] clk: samsung: fix pm init on non-dt platforms
Date: Wed, 13 Mar 2013 14:59:36 +0100	[thread overview]
Message-ID: <201303131459.37255.heiko@sntech.de> (raw)
In-Reply-To: <201303131458.18671.heiko@sntech.de>

The clock_init function checked for a dt node, returning immediately
for non-dt machines. This let to the suspend init never being reached
on those non-DT machines.

So fix this by moving the pm init code above the check.

Signed-off-by: Heiko Stueber <heiko@sntech.de>
---
changes since v1:
instead of removing the np check, move the pm init above it, as suggested
by Thomas Abraham.
When removing the np check the dt code is wrongly entered on
non-dt machines if dt support is enabled in the kernel

 drivers/clk/samsung/clk.c |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c
index d36cdd5..ca04b9e 100644
--- a/drivers/clk/samsung/clk.c
+++ b/drivers/clk/samsung/clk.c
@@ -57,18 +57,6 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
 		unsigned long nr_rdump)
 {
 	reg_base = base;
-	if (!np)
-		return;
-
-#ifdef CONFIG_OF
-	clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL);
-	if (!clk_table)
-		panic("could not allocate clock lookup table\n");
-
-	clk_data.clks = clk_table;
-	clk_data.clk_num = nr_clks;
-	of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
-#endif
 
 #ifdef CONFIG_PM_SLEEP
 	if (rdump && nr_rdump) {
@@ -87,6 +75,19 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
 		register_syscore_ops(&samsung_clk_syscore_ops);
 	}
 #endif
+
+	if (!np)
+		return;
+
+#ifdef CONFIG_OF
+	clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL);
+	if (!clk_table)
+		panic("could not allocate clock lookup table\n");
+
+	clk_data.clks = clk_table;
+	clk_data.clk_num = nr_clks;
+	of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
+#endif
 }
 
 /* add a clock instance to the clock lookup table used for dt based lookup */
-- 
1.7.2.3

WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stübner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/4] clk: samsung: fix pm init on non-dt platforms
Date: Wed, 13 Mar 2013 14:59:36 +0100	[thread overview]
Message-ID: <201303131459.37255.heiko@sntech.de> (raw)
In-Reply-To: <201303131458.18671.heiko@sntech.de>

The clock_init function checked for a dt node, returning immediately
for non-dt machines. This let to the suspend init never being reached
on those non-DT machines.

So fix this by moving the pm init code above the check.

Signed-off-by: Heiko Stueber <heiko@sntech.de>
---
changes since v1:
instead of removing the np check, move the pm init above it, as suggested
by Thomas Abraham.
When removing the np check the dt code is wrongly entered on
non-dt machines if dt support is enabled in the kernel

 drivers/clk/samsung/clk.c |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c
index d36cdd5..ca04b9e 100644
--- a/drivers/clk/samsung/clk.c
+++ b/drivers/clk/samsung/clk.c
@@ -57,18 +57,6 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
 		unsigned long nr_rdump)
 {
 	reg_base = base;
-	if (!np)
-		return;
-
-#ifdef CONFIG_OF
-	clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL);
-	if (!clk_table)
-		panic("could not allocate clock lookup table\n");
-
-	clk_data.clks = clk_table;
-	clk_data.clk_num = nr_clks;
-	of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
-#endif
 
 #ifdef CONFIG_PM_SLEEP
 	if (rdump && nr_rdump) {
@@ -87,6 +75,19 @@ void __init samsung_clk_init(struct device_node *np, void __iomem *base,
 		register_syscore_ops(&samsung_clk_syscore_ops);
 	}
 #endif
+
+	if (!np)
+		return;
+
+#ifdef CONFIG_OF
+	clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL);
+	if (!clk_table)
+		panic("could not allocate clock lookup table\n");
+
+	clk_data.clks = clk_table;
+	clk_data.clk_num = nr_clks;
+	of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
+#endif
 }
 
 /* add a clock instance to the clock lookup table used for dt based lookup */
-- 
1.7.2.3

  parent reply	other threads:[~2013-03-13 13:59 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-13 13:58 [PATCH v2 0/4] clk: samsung: pm fixes and multiple aliases Heiko Stübner
2013-03-13 13:58 ` Heiko Stübner
2013-03-13 13:59 ` [PATCH v2 1/4] clk: samsung: register clk_div_tables for divider clocks Heiko Stübner
2013-03-13 13:59   ` Heiko Stübner
2013-03-13 13:59 ` Heiko Stübner [this message]
2013-03-13 13:59   ` [PATCH v2 2/4] clk: samsung: fix pm init on non-dt platforms Heiko Stübner
2013-03-13 14:00 ` [PATCH v2 3/4] clk: samsung: always allocate the clk_table Heiko Stübner
2013-03-13 14:00   ` Heiko Stübner
2013-03-13 14:00 ` [PATCH 4/4] clk: samsung: add infrastructure to add separate aliases Heiko Stübner
2013-03-13 14:00   ` Heiko Stübner
2013-03-25  9:26 ` [PATCH v2 0/4] clk: samsung: pm fixes and multiple aliases Kukjin Kim
2013-03-25  9:26   ` Kukjin Kim
2013-03-27  0:59   ` Mike Turquette
2013-03-27  0:59     ` Mike Turquette
2013-04-04  4:06     ` Kukjin Kim
2013-04-04  4:06       ` Kukjin Kim

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=201303131459.37255.heiko@sntech.de \
    --to=heiko@sntech.de \
    --cc=kgene.kim@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=mturquette@linaro.org \
    --cc=sylvester.nawrocki@gmail.com \
    --cc=t.figa@samsung.com \
    --cc=thomas.abraham@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: 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.