From patchwork Thu Apr 8 23:15:52 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: omar ramirez X-Patchwork-Id: 91532 X-Patchwork-Delegate: omar.ramirez@ti.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o38Mxo5N010162 for ; Thu, 8 Apr 2010 22:59:52 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933820Ab0DHW7h (ORCPT ); Thu, 8 Apr 2010 18:59:37 -0400 Received: from devils.ext.ti.com ([198.47.26.153]:41608 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933813Ab0DHW7c (ORCPT ); Thu, 8 Apr 2010 18:59:32 -0400 Received: from dlep34.itg.ti.com ([157.170.170.115]) by devils.ext.ti.com (8.13.7/8.13.7) with ESMTP id o38MxN4s020423 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 8 Apr 2010 17:59:23 -0500 Received: from legion.dal.design.ti.com (localhost [127.0.0.1]) by dlep34.itg.ti.com (8.13.7/8.13.7) with ESMTP id o38MxMwD009866; Thu, 8 Apr 2010 17:59:22 -0500 (CDT) Received: from Matrix (matrix.am.dhcp.ti.com [128.247.75.166]) by legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id o38MxMZ16494; Thu, 8 Apr 2010 17:59:22 -0500 (CDT) Received: by Matrix (Postfix, from userid 1003) id 40006410155; Thu, 8 Apr 2010 18:16:09 -0500 (CDT) From: Omar Ramirez Luna To: linux-omap@vger.kernel.org Cc: Paul Walmsley , Hiroshi DOYU , Felipe Contreras , Ameya Palande , Guzman Lugo Fernando , Nishanth Menon , Omar Ramirez Luna Subject: [PATCH 03/19] DSPBRIDGE: fail if clk handle is NULL Date: Thu, 8 Apr 2010 18:15:52 -0500 Message-Id: <1270768568-10712-4-git-send-email-omar.ramirez@ti.com> X-Mailer: git-send-email 1.5.4.3 In-Reply-To: <1270768568-10712-3-git-send-email-omar.ramirez@ti.com> References: <1270768568-10712-1-git-send-email-omar.ramirez@ti.com> <1270768568-10712-2-git-send-email-omar.ramirez@ti.com> <1270768568-10712-3-git-send-email-omar.ramirez@ti.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Thu, 08 Apr 2010 22:59:52 +0000 (UTC) diff --git a/drivers/dsp/bridge/services/clk.c b/drivers/dsp/bridge/services/clk.c index 5ed6bb5..57cf6e3 100644 --- a/drivers/dsp/bridge/services/clk.c +++ b/drivers/dsp/bridge/services/clk.c @@ -132,7 +132,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++; @@ -155,17 +155,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 = DSP_EFAIL; - } - } 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 = DSP_EFAIL; } /* The SSI module need to configured not to have the Forced idle for @@ -195,13 +189,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 = DSP_EFAIL; - } + 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 = DSP_EFAIL; } return status; } @@ -233,36 +225,22 @@ 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 = DSP_EFAIL; - } + clk_disable(clk_handle); + 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 = DSP_EFAIL; - } + /* FIXME: usecount shouldn't be used */ + use_count = clk_handle->usecount; + return use_count; }