From patchwork Mon Jan 14 18:36:12 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Warren X-Patchwork-Id: 211857 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 5971E2C00A2 for ; Tue, 15 Jan 2013 05:36:20 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757549Ab3ANSgT (ORCPT ); Mon, 14 Jan 2013 13:36:19 -0500 Received: from avon.wwwdotorg.org ([70.85.31.133]:54178 "EHLO avon.wwwdotorg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757189Ab3ANSgT (ORCPT ); Mon, 14 Jan 2013 13:36:19 -0500 Received: from severn.wwwdotorg.org (unknown [192.168.65.5]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by avon.wwwdotorg.org (Postfix) with ESMTPS id 26E4212E4FB; Mon, 14 Jan 2013 11:37:49 -0700 (MST) Received: from swarren-lx1.nvidia.com (localhost [127.0.0.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by severn.wwwdotorg.org (Postfix) with ESMTPSA id 0B127E4107; Mon, 14 Jan 2013 11:36:16 -0700 (MST) From: Stephen Warren To: mturquette@linaro.org Cc: Prashant Gaikwad , Sivaram Nair , linux-tegra@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Stephen Warren Subject: [PATCH] clk: tegra: use _clk_pll_disable from _program_pll Date: Mon, 14 Jan 2013 11:36:12 -0700 Message-Id: <1358188572-13005-1-git-send-email-swarren@wwwdotorg.org> X-Mailer: git-send-email 1.7.10.4 X-NVConfidentiality: public X-Virus-Scanned: clamav-milter 0.96.5 at avon.wwwdotorg.org X-Virus-Status: Clean Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org From: Stephen Warren _program_pll() was dropping the PLL's lock and calling clk_pll_disable(). clk_pll_disable() does nothing but acquire the same lock and call _clk_pll_disable(). So, remove the lock manipulation code, and just call _clk_pll_disable() directly instead. Reported-by: Sivaram Nair Signed-off-by: Stephen Warren --- Mike, this also will need to go through the Tegra tree; just looking for any review/ack from you. Thanks. drivers/clk/tegra/clk-pll.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c index 474ce1f..9f9bb73 100644 --- a/drivers/clk/tegra/clk-pll.c +++ b/drivers/clk/tegra/clk-pll.c @@ -339,14 +339,8 @@ static int _program_pll(struct clk_hw *hw, struct tegra_clk_pll_freq_table *cfg, state = clk_pll_is_enabled(hw); if (state) { - if (pll->lock) - spin_unlock_irqrestore(pll->lock, flags); - - clk_pll_disable(hw); + _clk_pll_disable(hw); val &= ~(PLL_BASE_BYPASS | PLL_BASE_ENABLE); - - if (pll->lock) - spin_lock_irqsave(pll->lock, flags); } pll_writel_base(val, pll);