From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751578AbbEGB0m (ORCPT ); Wed, 6 May 2015 21:26:42 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:49854 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750710AbbEGB0l (ORCPT ); Wed, 6 May 2015 21:26:41 -0400 From: Stephen Boyd To: Mike Turquette , Stephen Boyd Cc: linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH] clk: Add some more lockdep assertions Date: Wed, 6 May 2015 18:26:38 -0700 Message-Id: <1430961998-28805-1-git-send-email-sboyd@codeaurora.org> X-Mailer: git-send-email 2.3.0.rc1.33.g42e4583 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We don't check to make sure the enable_lock is held across enable/disable and we don't check if the prepare_lock is held across prepare/unprepare. Add some asserts to catch any future locking problems. Signed-off-by: Stephen Boyd --- Based on clk-next drivers/clk/clk.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 8cea0ec7179b..bbc04eae3b92 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -544,6 +544,8 @@ EXPORT_SYMBOL_GPL(__clk_mux_determine_rate_closest); static void clk_core_unprepare(struct clk_core *core) { + lockdep_assert_held(&prepare_lock); + if (!core) return; @@ -590,6 +592,8 @@ static int clk_core_prepare(struct clk_core *core) { int ret = 0; + lockdep_assert_held(&prepare_lock); + if (!core) return 0; @@ -645,6 +649,8 @@ EXPORT_SYMBOL_GPL(clk_prepare); static void clk_core_disable(struct clk_core *core) { + lockdep_assert_held(&enable_lock); + if (!core) return; @@ -693,6 +699,8 @@ static int clk_core_enable(struct clk_core *core) { int ret = 0; + lockdep_assert_held(&enable_lock); + if (!core) return 0; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project