From patchwork Tue Apr 8 11:29:57 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shawn Guo X-Patchwork-Id: 3950641 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 20EA0C0DA2 for ; Tue, 8 Apr 2014 18:56:13 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 2F90B2042B for ; Tue, 8 Apr 2014 18:56:12 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 07D542041D for ; Tue, 8 Apr 2014 18:56:11 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WXXzM-00084w-8Y; Tue, 08 Apr 2014 15:31:05 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1WXXxt-0005ts-Mq; Tue, 08 Apr 2014 15:29:35 +0000 Received: from casper.infradead.org ([2001:770:15f::2]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WXXXP-0001D8-7i for linux-arm-kernel@merlin.infradead.org; Tue, 08 Apr 2014 15:02:11 +0000 Received: from tx2ehsobe002.messaging.microsoft.com ([65.55.88.12] helo=tx2outboundpool.messaging.microsoft.com) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WXUFB-0002qt-MA for linux-arm-kernel@lists.infradead.org; Tue, 08 Apr 2014 11:31:10 +0000 Received: from mail104-tx2-R.bigfish.com (10.9.14.234) by TX2EHSOBE006.bigfish.com (10.9.40.26) with Microsoft SMTP Server id 14.1.225.22; Tue, 8 Apr 2014 11:30:01 +0000 Received: from mail104-tx2 (localhost [127.0.0.1]) by mail104-tx2-R.bigfish.com (Postfix) with ESMTP id 021A5C0047; Tue, 8 Apr 2014 11:30:01 +0000 (UTC) X-Forefront-Antispam-Report: CIP:70.37.183.190; KIP:(null); UIP:(null); IPV:NLI; H:mail.freescale.net; RD:none; EFVD:NLI X-SpamScore: 0 X-BigFish: VS0(zzzz1f42h2148h1ee6h1de0h1fdah2073h2146h1202h1e76h2189h1d1ah1d2ah21bch1fc6h208chzz1de098h8275bh1de097hz2dh2a8h839hd24he5bhf0ah1288h12a5h12a9h12bdh12e5h137ah139eh13b6h1441h1504h1537h162dh1631h1758h1898h18e1h1946h19b5h1ad9h1b0ah1b2fh2222h224fh1fb3h1d0ch1d2eh1d3fh1dc1h1dfeh1dffh1e23h1fe8h1ff5h2218h2216h226dh22d0h24afh2327h2336h2438h2461h2487h24d7h2516h2545h255eh25cch25f6h2605h268bh26d3h1155h) Received: from mail104-tx2 (localhost.localdomain [127.0.0.1]) by mail104-tx2 (MessageSwitch) id 1396956598525717_29707; Tue, 8 Apr 2014 11:29:58 +0000 (UTC) Received: from TX2EHSMHS005.bigfish.com (unknown [10.9.14.247]) by mail104-tx2.bigfish.com (Postfix) with ESMTP id 6F33A60087; Tue, 8 Apr 2014 11:29:58 +0000 (UTC) Received: from mail.freescale.net (70.37.183.190) by TX2EHSMHS005.bigfish.com (10.9.99.105) with Microsoft SMTP Server (TLS) id 14.16.227.3; Tue, 8 Apr 2014 11:29:58 +0000 Received: from tx30smr01.am.freescale.net (10.81.153.31) by 039-SN1MMR1-005.039d.mgd.msft.net (10.84.1.17) with Microsoft SMTP Server (TLS) id 14.3.174.2; Tue, 8 Apr 2014 11:30:14 +0000 Received: from dragon.ap.freescale.net ([10.192.185.89]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id s38BUA11016082; Tue, 8 Apr 2014 04:30:11 -0700 From: Shawn Guo To: Subject: [PATCH] pwm: mxs: set pwm_chip can_sleep flag Date: Tue, 8 Apr 2014 19:29:57 +0800 Message-ID: <1396956597-26159-1-git-send-email-shawn.guo@freescale.com> X-Mailer: git-send-email 1.8.3.2 MIME-Version: 1.0 X-OriginatorOrg: freescale.com X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn% X-FOPE-CONNECTOR: Id%0$Dn%FREESCALE.MAIL.ONMICROSOFT.COM$RO%1$TLS%0$FQDN%$TlsDn% X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140408_123109_947426_617557A9 X-CRM114-Status: GOOD ( 11.39 ) X-Spam-Score: -2.9 (--) Cc: Stefan Wahren , Thierry Reding , Alexandre Belloni , Shawn Guo , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD,UNPARSEABLE_RELAY,UNRESOLVED_TEMPLATE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The .config() calls clk_get_rate() which might sleep, so we need to set pwm_chip can_sleep flag. Otherwise, we see the following warning when using pwm driven heartbeat led. WARNING: CPU: 0 PID: 0 at kernel/locking/mutex.c:856 mutex_trylock+0x184/0x1a4() DEBUG_LOCKS_WARN_ON(in_interrupt()) Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 3.14.0-rc5 #18 [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [] (show_stack) from [] (warn_slowpath_common+0x6c/0x8c) [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40) [] (warn_slowpath_fmt) from [] (mutex_trylock+0x184/0x1a4) [] (mutex_trylock) from [] (clk_prepare_lock+0xc/0xec) [] (clk_prepare_lock) from [] (clk_get_rate+0xc/0x68) [] (clk_get_rate) from [] (mxs_pwm_config+0x20/0x198) [] (mxs_pwm_config) from [] (pwm_config+0x60/0x70) [] (pwm_config) from [] (__led_pwm_set+0x1c/0x3c) [] (__led_pwm_set) from [] (led_heartbeat_function+0x70/0x110) [] (led_heartbeat_function) from [] (call_timer_fn+0x7c/0x164) [] (call_timer_fn) from [] (run_timer_softirq+0x1f0/0x260) [] (run_timer_softirq) from [] (__do_softirq+0xc4/0x2f0) [] (__do_softirq) from [] (irq_exit+0xa4/0x10c) [] (irq_exit) from [] (handle_IRQ+0x34/0x84) [] (handle_IRQ) from [] (__irq_svc+0x44/0x54) [] (__irq_svc) from [] (arch_cpu_idle+0x40/0x48) [] (arch_cpu_idle) from [] (cpu_startup_entry+0x70/0x198) [] (cpu_startup_entry) from [] (start_kernel+0x2a8/0x2f8) Reported-by: Stefan Wahren Signed-off-by: Shawn Guo --- drivers/pwm/pwm-mxs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pwm/pwm-mxs.c b/drivers/pwm/pwm-mxs.c index 9475bc7..4f1bb4e 100644 --- a/drivers/pwm/pwm-mxs.c +++ b/drivers/pwm/pwm-mxs.c @@ -147,6 +147,7 @@ static int mxs_pwm_probe(struct platform_device *pdev) mxs->chip.dev = &pdev->dev; mxs->chip.ops = &mxs_pwm_ops; mxs->chip.base = -1; + mxs->chip.can_sleep = true; ret = of_property_read_u32(np, "fsl,pwm-number", &mxs->chip.npwm); if (ret < 0) { dev_err(&pdev->dev, "failed to get pwm number: %d\n", ret);