All of lore.kernel.org
 help / color / mirror / Atom feed
From: Omar Ramirez Luna <omar.ramirez@ti.com>
To: linux-omap <linux-omap@vger.kernel.org>
Cc: Ameya Palande <ameya.palande@nokia.com>,
	Hiroshi Doyu <Hiroshi.DOYU@nokia.com>,
	Felipe Contreras <felipe.contreras@nokia.com>,
	Nishanth Menon <nm@ti.com>,
	Omar Ramirez Luna <omar.ramirez@ti.com>
Subject: [PATCH v2] DSPBRIDGE: fail if clk handle is NULL
Date: Tue, 27 Apr 2010 20:29:10 -0500	[thread overview]
Message-ID: <1272418167-12630-3-git-send-email-omar.ramirez@ti.com> (raw)
In-Reply-To: <1272418167-12630-2-git-send-email-omar.ramirez@ti.com>

If we fail if a clk handle is NULL during initialization
then there is no need to keep checking every time if the
handle is NULL for enable/disable/set_32k/get_use_cnt.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
---
 drivers/dsp/bridge/services/clk.c |   68 +++++++++++--------------------------
 1 files changed, 20 insertions(+), 48 deletions(-)

diff --git a/drivers/dsp/bridge/services/clk.c b/drivers/dsp/bridge/services/clk.c
index fb2ca81..1089e72 100644
--- a/drivers/dsp/bridge/services/clk.c
+++ b/drivers/dsp/bridge/services/clk.c
@@ -130,7 +130,7 @@ bool services_clk_init(void)
 			pr_err("%s: failed to get clk handle %s, dev id = %d\n",
 			       __func__, services_clks[i].clk_name,
 			       services_clks[i].id);
-			/* should we fail here?? */
+			return false;
 		}
 		services_clks[i].clk_handle = clk_handle;
 		i++;
@@ -153,17 +153,11 @@ dsp_status services_clk_enable(IN enum services_clk_id clk_id)
 	DBC_REQUIRE(clk_id < SERVICESCLK_NOT_DEFINED);
 
 	clk_handle = services_clks[clk_id].clk_handle;
-	if (clk_handle) {
-		if (clk_enable(clk_handle)) {
-			pr_err("services_clk_enable: failed to Enable CLK %s, "
-			       "CLK dev id = %d\n",
-			       services_clks[clk_id].clk_name,
-			       services_clks[clk_id].id);
-			status = -EPERM;
-		}
-	} else {
-		pr_err("%s: failed to get CLK %s, CLK dev id = %d\n", __func__,
-		     services_clks[clk_id].clk_name, services_clks[clk_id].id);
+	if (clk_enable(clk_handle)) {
+		pr_err("services_clk_enable: failed to Enable CLK %s, "
+		       "CLK dev id = %d\n",
+		       services_clks[clk_id].clk_name,
+		       services_clks[clk_id].id);
 		status = -EPERM;
 	}
 	/* The SSI module need to configured not to have the Forced idle for
@@ -193,13 +187,11 @@ dsp_status clk_set32k_hz(IN enum services_clk_id clk_id)
 	DBC_REQUIRE(clk_id < SERVICESCLK_NOT_DEFINED);
 
 	clk_handle = services_clks[clk_id].clk_handle;
-	if (clk_handle) {
-		if (!(clk_set_parent(clk_handle, clk_parent) == 0x0)) {
-			pr_err("%s: failed for %s, dev id = %d\n", __func__,
-			       services_clks[clk_id].clk_name,
-			       services_clks[clk_id].id);
-			status = -EPERM;
-		}
+	if (!(clk_set_parent(clk_handle, clk_parent) == 0x0)) {
+		pr_err("%s: failed for %s, dev id = %d\n", __func__,
+		       services_clks[clk_id].clk_name,
+		       services_clks[clk_id].id);
+		status = -EPERM;
 	}
 	return status;
 }
@@ -231,15 +223,8 @@ dsp_status services_clk_disable(IN enum services_clk_id clk_id)
 	if (clk_id == SERVICESCLK_SSI_ICK)
 		ssi_clk_prepare(false);
 
-	if (clk_handle) {
-		clk_disable(clk_handle);
-	} else {
-		pr_err("services_clk_disable: failed to get CLK %s,"
-		       "CLK dev id = %d\n",
-		       services_clks[clk_id].clk_name,
-		       services_clks[clk_id].id);
-		status = -EPERM;
-	}
+	clk_disable(clk_handle);
+
 	return status;
 }
 
@@ -260,38 +245,25 @@ dsp_status services_clk_get_rate(IN enum services_clk_id clk_id, u32 *speedKhz)
 	*speedKhz = 0x0;
 
 	clk_handle = services_clks[clk_id].clk_handle;
-	if (clk_handle) {
-		clk_speed_hz = clk_get_rate(clk_handle);
-		*speedKhz = clk_speed_hz / 1000;
-		dev_dbg(bridge, "%s: clk_speed_hz = %d, speedinKhz = %d\n",
+	clk_speed_hz = clk_get_rate(clk_handle);
+	*speedKhz = clk_speed_hz / 1000;
+	dev_dbg(bridge, "%s: clk_speed_hz = %d, speedinKhz = %d\n",
 			__func__, clk_speed_hz, *speedKhz);
-	} else {
-		pr_err("%s: failed to get %s, dev Id = %d\n", __func__,
-		       services_clks[clk_id].clk_name,
-		       services_clks[clk_id].id);
-		status = -EPERM;
-	}
+
 	return status;
 }
 
 s32 clk_get_use_cnt(IN enum services_clk_id clk_id)
 {
-	dsp_status status = DSP_SOK;
 	struct clk *clk_handle;
 	s32 use_count = -1;
 	DBC_REQUIRE(clk_id < SERVICESCLK_NOT_DEFINED);
 
 	clk_handle = services_clks[clk_id].clk_handle;
 
-	if (clk_handle) {
-		/* FIXME: usecount shouldn't be used */
-		use_count = clk_handle->usecount;
-	} else {
-		pr_err("%s: failed to get %s, dev Id = %d\n", __func__,
-		       services_clks[clk_id].clk_name,
-		       services_clks[clk_id].id);
-		status = -EPERM;
-	}
+	/* FIXME: usecount shouldn't be used */
+	use_count = clk_handle->usecount;
+
 	return use_count;
 }
 
-- 
1.6.0.4


  reply	other threads:[~2010-04-28  1:24 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-28  1:29 [PATCH v2] generic clk module removal Omar Ramirez Luna
2010-04-28  1:29 ` [PATCH v2] DSPBRIDGE: remove clk_handle from drv interface Omar Ramirez Luna
2010-04-28  1:29   ` Omar Ramirez Luna [this message]
2010-04-28  1:29     ` [PATCH v2] DSPBRIDGE: Now actually fail if a clk handle is wrong Omar Ramirez Luna
2010-04-28  1:29       ` [PATCH v2] DSPBRIDGE: Rename services_clk_* to dsp_clk_* Omar Ramirez Luna
2010-04-28  1:29         ` [PATCH v2] DSPBRIDGE: remove unused clock sys_ck Omar Ramirez Luna
2010-04-28  1:29           ` [PATCH v2] DSPBRIDGE: remove function clk_set32k_hz Omar Ramirez Luna
2010-04-28  1:29             ` [PATCH v2] DSPBRIDGE: remove clk_get_use_cnt Omar Ramirez Luna
2010-04-28  1:29               ` [PATCH v2] DSPBRIDGE: trivial clock cleanup for unused code Omar Ramirez Luna
2010-04-28  1:29                 ` [PATCH v2] DSPBRIDGE: function to get the type of clock requested by dsp Omar Ramirez Luna
2010-04-28  1:29                   ` [PATCH v2] DSPBRIDGE: iva2 clock handling Omar Ramirez Luna
2010-04-28  1:29                     ` [PATCH v2] DSPBRIDGE: use dm timer framework for gpt timers Omar Ramirez Luna
2010-04-28  1:29                       ` [PATCH v2] DSPBRIDGE: use omap mcbsp to enable mcbsp clocks Omar Ramirez Luna
2010-04-28  1:29                         ` [PATCH v2] DSPBRIDGE: remove wdt3 from dsp control Omar Ramirez Luna
2010-04-28  1:29                           ` [PATCH v2] DSPBRIDGE: dsp interface to enable ssi clocks Omar Ramirez Luna
2010-04-28  1:29                             ` [PATCH v2] DSPBRIDGE: use one call for both ick and fck clocks Omar Ramirez Luna
2010-04-28  1:29                               ` [PATCH v2] DSPBRIDGE: Move MCBSP_CLOCKS code to a common place Omar Ramirez Luna
2010-04-28  1:29                                 ` [PATCH v2] DSPBRIDGE: Balance the number of enable/disable Omar Ramirez Luna
2010-04-28  1:29                                   ` [PATCH v2] DSPBRIDGE: move clk to dsp-clock Omar Ramirez Luna
2010-04-28  1:29                                     ` [PATCH v2] DSPBRIDGE: reorganize the code to handle peripheral clocks Omar Ramirez Luna
2010-04-28  7:46                       ` [PATCH v2] DSPBRIDGE: use dm timer framework for gpt timers Felipe Contreras
2010-04-28 14:15                         ` Omar Ramirez Luna
2010-04-28 16:29                           ` Kevin Hilman
2010-04-28 16:36                             ` Nishanth Menon
2010-04-28 17:00                               ` Omar Ramirez Luna
2010-04-28 17:11                                 ` Vladimir Pantelic
2010-04-28 17:22                                   ` Nishanth Menon
2010-04-28 17:59                                 ` Kevin Hilman
2010-04-28 18:56                                   ` Nishanth Menon
2010-04-28 19:52                                     ` Vladimir Pantelic
2010-04-28 19:57                                       ` Nishanth Menon
2010-04-28 20:50                                     ` Kevin Hilman
2010-04-29 13:40                                       ` Benoit Cousson
2010-04-29 14:12                                         ` Kevin Hilman
2010-04-28 17:02                               ` Uribe de Leon, Armando
2010-04-28 17:04                               ` Felipe Contreras
2010-04-28  1:34 ` [PATCH v2] generic clk module removal Nishanth Menon
2010-04-28 13:55   ` Omar Ramirez Luna

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=1272418167-12630-3-git-send-email-omar.ramirez@ti.com \
    --to=omar.ramirez@ti.com \
    --cc=Hiroshi.DOYU@nokia.com \
    --cc=ameya.palande@nokia.com \
    --cc=felipe.contreras@nokia.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=nm@ti.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 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.