From patchwork Wed Apr 17 01:07:36 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingoo Han X-Patchwork-Id: 237127 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-gg0-x23f.google.com (mail-gg0-x23f.google.com [IPv6:2607:f8b0:4002:c02::23f]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 9B7B52C011E for ; Wed, 17 Apr 2013 11:07:41 +1000 (EST) Received: by mail-gg0-f191.google.com with SMTP id r1sf380982ggn.28 for ; Tue, 16 Apr 2013 18:07:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=x-received:x-beenthere:x-received:received-spf:x-auditid:from:to:cc :references:in-reply-to:subject:date:message-id:mime-version :x-mailer:thread-index:x-brightmail-tracker:x-brightmail-tracker :dlp-filter:x-mtr:x-cfilter-loop:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:x-google-group-id:list-post:list-help:list-archive:sender :list-subscribe:list-unsubscribe:content-type:content-language; bh=zIvUhUCGNUYgfJPrQqHfWUBb6qLjvI6LaaXEQHQflCU=; b=Mqy8MxAirZWMzX1U4fLW0MBxwn0h1IoEFPptCS95JPdcQxqIzwAXK1p9aBaD0+isGT E3yd2YHK/6u1gxMWg2AN7NxwJTbpFVRMf+22BSh2UcVxyhbE4G+9ZafAuCNNNh+ACsum Hly2FBeylO4y3G86q+SlPFYIlbzCExIuV6htvlghAWzSnz4Sw9S20xy8p08zM7vLqQb1 mXJWToh8Eo3HyJ7lPI9lko8H/P1vNgZts7TegLajEbI1j7XH+IXteFejxhlTW+90G+c6 gsAnyzNHW7CrfY4qhBn8x724RLST188OpjyE2Gx7QBC7aDz2ajTjrEIQ1HmtxTIVvHga IAcg== X-Received: by 10.50.178.244 with SMTP id db20mr2236673igc.12.1366160858913; Tue, 16 Apr 2013 18:07:38 -0700 (PDT) X-BeenThere: rtc-linux@googlegroups.com Received: by 10.50.208.72 with SMTP id mc8ls936851igc.29.gmail; Tue, 16 Apr 2013 18:07:38 -0700 (PDT) X-Received: by 10.66.121.3 with SMTP id lg3mr375172pab.41.1366160858475; Tue, 16 Apr 2013 18:07:38 -0700 (PDT) Received: from mailout4.samsung.com (mailout4.samsung.com. [203.254.224.34]) by gmr-mx.google.com with ESMTP id tx7si809218pbc.0.2013.04.16.18.07.38; Tue, 16 Apr 2013 18:07:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of jg1.han@samsung.com designates 203.254.224.34 as permitted sender) client-ip=203.254.224.34; Received: from epcpsbgr2.samsung.com (u142.gpu120.samsung.co.kr [203.254.230.142]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MLD002UNKFI02D0@mailout4.samsung.com> for rtc-linux@googlegroups.com; Wed, 17 Apr 2013 10:07:37 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.49]) by epcpsbgr2.samsung.com (EPCPMTA) with SMTP id A2.FB.07735.8D5FD615; Wed, 17 Apr 2013 10:07:36 +0900 (KST) X-AuditID: cbfee68e-b7f946d000001e37-7e-516df5d8ad59 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 77.2F.13494.8D5FD615; Wed, 17 Apr 2013 10:07:36 +0900 (KST) Received: from DOJG1HAN02 ([12.23.120.99]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MLD00G30KGOZQF0@mmp2.samsung.com>; Wed, 17 Apr 2013 10:07:36 +0900 (KST) From: Jingoo Han To: 'Andrew Morton' Cc: linux-kernel@vger.kernel.org, 'Alessandro Zummo' , rtc-linux@googlegroups.com, 'Jingoo Han' References: <003001ce3b07$d5f29da0$81d7d8e0$%han@samsung.com> In-reply-to: <003001ce3b07$d5f29da0$81d7d8e0$%han@samsung.com> Subject: [rtc-linux] [PATCH RESEND 3/8] rtc: rtc-coh901331: convert coh901331_driver to dev_pm_ops Date: Wed, 17 Apr 2013 10:07:36 +0900 Message-id: <003201ce3b07$f2bb3cd0$d831b670$%han@samsung.com> MIME-version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac47B9XUIMaX4YjsSbW0FEYgtMIOOAAABIPA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKIsWRmVeSWpSXmKPExsVy+t8zQ90bX3MDDRYttLFYcvEqu8Wc9WvY LC4vvMRqcXnXHDaL/Z0djA6sHnsmnmTzODHjN4tH35ZVjB7T5/1k8vi8SS6ANYrLJiU1J7Ms tUjfLoErY+KVl2wFN0Qq7vX6NjC2CXYxcnJICJhI3L25mB3CFpO4cG89WxcjF4eQwDJGieNX lwA5HGBFUxdXg9QICUxnlLj2Og2i5hejxM4nm8Ga2QTUJL58OcwOUi8ioC/R1qIBUsMs0Mso caZ3NztEs63EzY5DTCA2p4CdxLcjdxhBbGGBCIlnl76B2SwCqhLzGi6wgNi8QPVX105lhbAF JX5MvgcWZxbQkli/8zgThC0vsXnNW2aIO9UlHv3VBQmLCBhJPJ7axAxRIiKx78U7RpB7JARu sUus//6HDWKXgMS3yYdYIHplJTYdYIaEg6TEwRU3WCYwSsxCsnkWks2zkGyehWTFAkaWVYyi qQXJBcVJ6UVGesWJucWleel6yfm5mxghUdq3g/HmAetDjMlA6ycyS4km5wOjPK8k3tDYzMjC 1MTU2Mjc0ow0YSVxXrUW60AhgfTEktTs1NSC1KL4otKc1OJDjEwcnFINjPP2L12Stcb6kaQy o9TxyXZmz03WuKvIOvNMSA1gfVHfed75+IE1XK+Ox5gEHF0kODP//bn3TtzZr0xrn336tHnN zrDrRt8SWp8ISDdffLZvf0pU0usrBiFqG8zjfa9N/DiDTUdv1+OyJLeXfFvTXnUdyver3vNJ 7OisAtVoz9rYNROfbr4zV16JpTgj0VCLuag4EQBatNV16AIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrEKsWRmVeSWpSXmKPExsVy+t9jQd0bX3MDDY5uM7dYcvEqu8Wc9WvY LC4vvMRqcXnXHDaL/Z0djA6sHnsmnmTzODHjN4tH35ZVjB7T5/1k8vi8SS6ANaqB0SYjNTEl tUghNS85PyUzL91WyTs43jne1MzAUNfQ0sJcSSEvMTfVVsnFJ0DXLTMHaLuSQlliTilQKCCx uFhJ3w7ThNAQN10LmMYIXd+QILgeIwM0kLCOMWPilZdsBTdEKu71+jYwtgl2MXJwSAiYSExd XN3FyAlkiklcuLeeDcQWEpjOKHHtdVoXIxeQ/YtRYueTzewgCTYBNYkvXw6zg/SKCOhLtLVo gNQwC/QySpzp3c0O0WwrcbPjEBOIzSlgJ/HtyB1GEFtYIELi2aVvYDaLgKrEvIYLLCA2L1D9 1bVTWSFsQYkfk++BxZkFtCTW7zzOBGHLS2xe85YZ4mZ1iUd/dUHCIgJGEo+nNjFDlIhI7Hvx jnECo9AsJJNmIZk0C8mkWUhaFjCyrGIUTS1ILihOSs810itOzC0uzUvXS87P3cQITgHPpHcw rmqwOMQowMGoxMN7oSA3UIg1say4MvcQowQHs5IIr+IqoBBvSmJlVWpRfnxRaU5q8SHGZKBH JzJLiSbnA9NTXkm8obGJmZGlkZmFkYm5OWnCSuK8B1utA4UE0hNLUrNTUwtSi2C2MHFwSjUw zr3+9eoE7aOhn/2e+q9QfM5/fUNn8GaWE/vUHp9sv8dtdFFwTUr0QsNCU2sNl5RkScXYtdGq 4rOfFeW5vbDvaFvOXmTlt0/MoNi9cp7K3WlH1piGfbu5lU954Qax84n3ZsxctO/N6gfvyo1y JkoZW9gUH2wLXM2856V99GTJ4K17tqXcnt/qpsRSnJFoqMVcVJwIAEaqBIpFAwAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Original-Sender: jg1.han@samsung.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of jg1.han@samsung.com designates 203.254.224.34 as permitted sender) smtp.mail=jg1.han@samsung.com Reply-To: rtc-linux@googlegroups.com Precedence: list Mailing-list: list rtc-linux@googlegroups.com; contact rtc-linux+owners@googlegroups.com List-ID: X-Google-Group-Id: 712029733259 List-Post: , List-Help: , List-Archive: Sender: rtc-linux@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-type: text/plain; charset=ISO-8859-1 Content-language: ko Instead of using legacy suspend/resume methods, using newer dev_pm_ops structure allows better control over power management. Signed-off-by: Jingoo Han --- drivers/rtc/rtc-coh901331.c | 24 +++++++++++------------- 1 files changed, 11 insertions(+), 13 deletions(-) diff --git a/drivers/rtc/rtc-coh901331.c b/drivers/rtc/rtc-coh901331.c index bf0387f..93c0658 100644 --- a/drivers/rtc/rtc-coh901331.c +++ b/drivers/rtc/rtc-coh901331.c @@ -47,7 +47,7 @@ struct coh901331_port { u32 physize; void __iomem *virtbase; int irq; -#ifdef CONFIG_PM +#ifdef CONFIG_PM_SLEEP u32 irqmaskstore; #endif }; @@ -225,17 +225,17 @@ static int __init coh901331_probe(struct platform_device *pdev) return ret; } -#ifdef CONFIG_PM -static int coh901331_suspend(struct platform_device *pdev, pm_message_t state) +#ifdef CONFIG_PM_SLEEP +static int coh901331_suspend(struct device *dev) { - struct coh901331_port *rtap = dev_get_drvdata(&pdev->dev); + struct coh901331_port *rtap = dev_get_drvdata(dev); /* * If this RTC alarm will be used for waking the system up, * don't disable it of course. Else we just disable the alarm * and await suspension. */ - if (device_may_wakeup(&pdev->dev)) { + if (device_may_wakeup(dev)) { enable_irq_wake(rtap->irq); } else { clk_enable(rtap->clk); @@ -247,12 +247,12 @@ static int coh901331_suspend(struct platform_device *pdev, pm_message_t state) return 0; } -static int coh901331_resume(struct platform_device *pdev) +static int coh901331_resume(struct device *dev) { - struct coh901331_port *rtap = dev_get_drvdata(&pdev->dev); + struct coh901331_port *rtap = dev_get_drvdata(dev); clk_prepare(rtap->clk); - if (device_may_wakeup(&pdev->dev)) { + if (device_may_wakeup(dev)) { disable_irq_wake(rtap->irq); } else { clk_enable(rtap->clk); @@ -261,11 +261,10 @@ static int coh901331_resume(struct platform_device *pdev) } return 0; } -#else -#define coh901331_suspend NULL -#define coh901331_resume NULL #endif +static SIMPLE_DEV_PM_OPS(coh901331_pm_ops, coh901331_suspend, coh901331_resume); + static void coh901331_shutdown(struct platform_device *pdev) { struct coh901331_port *rtap = dev_get_drvdata(&pdev->dev); @@ -279,10 +278,9 @@ static struct platform_driver coh901331_driver = { .driver = { .name = "rtc-coh901331", .owner = THIS_MODULE, + .pm = &coh901331_pm_ops, }, .remove = __exit_p(coh901331_remove), - .suspend = coh901331_suspend, - .resume = coh901331_resume, .shutdown = coh901331_shutdown, };