public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Joel Fernandes <joelf@ti.com>
To: Tony Lindgren <tony@atomide.com>,
	Rob Herring <rob.herring@calxeda.com>,
	Linux OMAP List <linux-omap@vger.kernel.org>,
	Linux ARM Kernel List <linux-arm-kernel@lists.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: Joel Fernandes <joelf@ti.com>
Subject: [PATCH 7/8] ARM: OMAP2+: timer: Add fallback for of_clk_get
Date: Tue, 22 Apr 2014 20:27:08 -0500	[thread overview]
Message-ID: <1398216429-4681-8-git-send-email-joelf@ti.com> (raw)
In-Reply-To: <1398216429-4681-1-git-send-email-joelf@ti.com>

Not all platforms currently will support of_clk_get on timer
because they may not have clock property in their DT nodes. Add
code to handle this case so that things are kept working. Finally
we can delete this code once all system timer nodes have a clock
property.

Signed-off-by: Joel Fernandes <joelf@ti.com>
---
 arch/arm/mach-omap2/timer.c |   27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index 519ccfd..b3db1da 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -277,13 +277,19 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
 		if (!timer->io_base)
 			return -ENXIO;
 
-		timer->fclk = of_clk_get(np, 0);
-		if (IS_ERR(timer->fclk))
-			return PTR_ERR(timer->fclk);
-
 		r = omap_dmtimer_powerup(np);
 		if (r)
 			return r;
+
+		timer->fclk = of_clk_get(np, 0);
+		if (IS_ERR(timer->fclk)) {
+			/*
+			 * Support DT platforms temporarily that don't have
+			 * clock property in their dts yet. Ultimately this
+			 * fall back code is to be deleted and we're to return
+			 * PTR_ERR(timer->fclk) here.
+			 */
+		}
 	} else {
 		if (omap_dm_timer_reserve_systimer(timer->id))
 			return -ENODEV;
@@ -312,14 +318,19 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
 		if (!timer->io_base)
 			return -ENXIO;
 
-		timer->fclk = clk_get(NULL, omap_hwmod_get_main_clk(oh));
-		if (IS_ERR(timer->fclk))
-			return PTR_ERR(timer->fclk);
-
 		omap_hwmod_setup_one(oh_name);
 		omap_hwmod_enable(oh);
 	}
 
+	if (!timer->fclk || IS_ERR(timer->fclk)) {
+		oh = omap_hwmod_lookup(oh_name);
+		if (!oh)
+			return -ENODEV;
+		timer->fclk = clk_get(NULL, omap_hwmod_get_main_clk(oh));
+		if (IS_ERR(timer->fclk))
+			return PTR_ERR(timer->fclk);
+	}
+
 	/*
 	 * Clock reparenting code, goes away for DT-boot atleast,
 	 * once clock layer can do it through DT.
-- 
1.7.9.5

  parent reply	other threads:[~2014-04-23  1:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-23  1:27 [PATCH 0/8] OMAP2+ system timer cleanup series Joel Fernandes
2014-04-23  1:27 ` [PATCH 1/8] ARM: OMAP2+: timer: Add a powerup function Joel Fernandes
2014-07-21 11:00   ` Tony Lindgren
2014-04-23  1:27 ` [PATCH 2/8] ARM: OMAP2+: timer: Simplify clock event/source name setting Joel Fernandes
2014-07-21 11:05   ` Tony Lindgren
2014-04-23  1:27 ` [PATCH 3/8] ARM: OMAP2+: timer: Add comment on timer clk parenting Joel Fernandes
2014-07-21 11:07   ` Tony Lindgren
2014-04-23  1:27 ` [PATCH 4/8] ARM: OMAP2+: timer: Remove hwmod look-up dependency for DT-boot Joel Fernandes
2014-04-23  1:27 ` [PATCH 5/8] ARM: OMAP2+: timer: Use of_clk_get for DT platforms Joel Fernandes
2014-04-23  1:27 ` [PATCH 6/8] ARM: OMAP2+: timer: Fix error message to not use hwmod structure Joel Fernandes
2014-07-21 11:09   ` Tony Lindgren
2014-04-23  1:27 ` Joel Fernandes [this message]
2014-07-21 11:10   ` [PATCH 7/8] ARM: OMAP2+: timer: Add fallback for of_clk_get Tony Lindgren
2014-04-23  1:27 ` [PATCH 8/8] ARM: OMAP2+: timer: Add legacy code for old way of getting fclk Joel Fernandes

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=1398216429-4681-8-git-send-email-joelf@ti.com \
    --to=joelf@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=tony@atomide.com \
    /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