From patchwork Thu Mar 28 08:38:04 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingoo Han X-Patchwork-Id: 231930 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-qe0-f55.google.com (mail-qe0-f55.google.com [209.85.128.55]) (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 0CEA82C00AD for ; Thu, 28 Mar 2013 19:38:08 +1100 (EST) Received: by mail-qe0-f55.google.com with SMTP id 1sf3012077qee.20 for ; Thu, 28 Mar 2013 01:38:06 -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=xZOa7UL6nfCn6kgPkt2eMB8sM5sBENvcoAW5dkYPNGxKwA0bBYtGT3gbeC1YBUOtG1 HCXq8GD4olt6wSrelo7wpQV/VTRp6x9WwPZODockWr1M6CPf+h41t89FISWwxd9bCAmF yqOV2nVVk44YDrFoCqWmscjM1c+afi859rrbrja3F/LUivHMyKFOzu2ytth33NqW9a5E 25uStmzA8a0IF59zzAoP4RPrrYjXEJBb0uJ/6fabN9udwPohy+E9KTxrXIupAjWFjb+d cTFP3p4hfNA4NBwsQFrOTqzLUsgk+VgD9+jNerBo4JJ0VDJi7C/Uyowe7DgGM8mUjjxH oiiQ== X-Received: by 10.50.12.227 with SMTP id b3mr1808007igc.13.1364459886129; Thu, 28 Mar 2013 01:38:06 -0700 (PDT) X-BeenThere: rtc-linux@googlegroups.com Received: by 10.50.237.38 with SMTP id uz6ls5776049igc.22.gmail; Thu, 28 Mar 2013 01:38:05 -0700 (PDT) X-Received: by 10.66.5.170 with SMTP id t10mr2803200pat.22.1364459885842; Thu, 28 Mar 2013 01:38:05 -0700 (PDT) Received: from mailout2.samsung.com (mailout2.samsung.com. [203.254.224.25]) by gmr-mx.google.com with ESMTP id rs16si4027950pac.1.2013.03.28.01.38.05; Thu, 28 Mar 2013 01:38:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of jg1.han@samsung.com designates 203.254.224.25 as permitted sender) client-ip=203.254.224.25; Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MKD00CSB3ZD3D30@mailout2.samsung.com> for rtc-linux@googlegroups.com; Thu, 28 Mar 2013 17:38:04 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [203.254.230.47]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 10.54.02019.C6104515; Thu, 28 Mar 2013 17:38:04 +0900 (KST) X-AuditID: cbfee690-b7f656d0000007e3-c9-5154016c21d4 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id E4.D2.17838.C6104515; Thu, 28 Mar 2013 17:38:04 +0900 (KST) Received: from DOJG1HAN02 ([12.23.120.99]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MKD000KD3ZGOJ80@mmp1.samsung.com>; Thu, 28 Mar 2013 17:38:04 +0900 (KST) From: Jingoo Han To: 'Andrew Morton' Cc: linux-kernel@vger.kernel.org, 'Alessandro Zummo' , rtc-linux@googlegroups.com, 'Jingoo Han' References: <001001ce2b8f$61824c90$2486e5b0$%han@samsung.com> In-reply-to: <001001ce2b8f$61824c90$2486e5b0$%han@samsung.com> Subject: [rtc-linux] [PATCH 3/8] rtc: rtc-coh901331: convert coh901331_driver to dev_pm_ops Date: Thu, 28 Mar 2013 17:38:04 +0900 Message-id: <001201ce2b8f$908ed300$b1ac7900$%han@samsung.com> MIME-version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac4rj2FhCGvCEF7CQ36UwoHUUgpQOwAABtgw X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKIsWRmVeSWpSXmKPExsVy+t8zfd0cxpBAgw+PjC2WXLzKbjFn/Ro2 i8sLL7FaXN41h81if2cHowOrx56JJ9k8Tsz4zeLRt2UVo8f0eT+ZPD5vkgtgjeKySUnNySxL LdK3S+DKmHjlJVvBDZGKe72+DYxtgl2MnBwSAiYSM5o3sUDYYhIX7q1n62Lk4hASWMYocWLm OiCHA6zo0ZZskBohgUWMEv3n2CFqfjFKbHq/nR0kwSagJvHly2F2kHoRAX2JthYNkBpmgV5G iTO9u9khmm0lzh2+ygxicwrYSbSv2Qq2WFjAX+LbiatgNouAqsS357/YQGxeoPo/CxexQNiC Ej8m3wOzmQW0JNbvPM4EYctLbF7zlhniTnWJR391QcIiAkYSD87OYYMoEZHY9+IdI8g9EgK3 2CUaLiyD2iUg8W3yIRaIXlmJTQeYIeEgKXFwxQ2WCYwSs5BsnoVk8ywkm2chWbGAkWUVo2hq QXJBcVJ6kYlecWJucWleul5yfu4mRkiUTtjBeO+A9SHGZKD1E5mlRJPzgVGeVxJvaGxmZGFq YmpsZG5pRpqwkjiveot1oJBAemJJanZqakFqUXxRaU5q8SFGJg5OqQZGr2udbud6FxUF7Dwb cv/PxV7N73XyGiwJ69cybLxXv/TxdO70huNMPzcskTf8xmvdVWJk517+6/WH81vmTg/QO3Rj UYeJu/n3rE+V5ce2LpnT93bqVmefM71mQSJJF59aJk7prXF/Hzrjoclmg3IxwVm5p895qqVu a5hixdA4Ye8iMwb+X3/TlViKMxINtZiLihMBWX/y3+gCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrEKsWRmVeSWpSXmKPExsVy+t9jAd0cxpBAgy0P9SyWXLzKbjFn/Ro2 i8sLL7FaXN41h81if2cHowOrx56JJ9k8Tsz4zeLRt2UVo8f0eT+ZPD5vkgtgjWpgtMlITUxJ LVJIzUvOT8nMS7dV8g6Od443NTMw1DW0tDBXUshLzE21VXLxCdB1y8wB2q6kUJaYUwoUCkgs LlbSt8M0ITTETdcCpjFC1zckCK7HyAANJKxjzJh45SVbwQ2Rinu9vg2MbYJdjBwcEgImEo+2 ZHcxcgKZYhIX7q1nA7GFBBYxSvSfY+9i5AKyfzFKbHq/nR0kwSagJvHly2F2kF4RAX2JthYN kBpmgV5GiTO9u9khmm0lzh2+ygxicwrYSbSv2coCYgsL+Et8O3EVzGYRUJX49vwX2DJeoPo/ CxexQNiCEj8m3wOzmQW0JNbvPM4EYctLbF7zlhniZnWJR391QcIiAkYSD87OYYMoEZHY9+Id 4wRGoVlIJs1CMmkWkkmzkLQsYGRZxSiaWpBcUJyUnmuoV5yYW1yal66XnJ+7iRGcAp5J7WBc 2WBxiFGAg1GJh7dCIDhQiDWxrLgy9xCjBAezkgjvoU6gEG9KYmVValF+fFFpTmrxIcZkoEcn MkuJJucD01NeSbyhsYmZkaWRmYWRibk5acJK4rwHWq0DhQTSE0tSs1NTC1KLYLYwcXBKNTCe aPy1dXJlWOjc346z9vAtWTl5Z/7ZqytWeHZkuQutUP0acrlZftcdh6lK/R//PA+ZmnT6bW9J +za230um3H1mruWRd0ON0VHol+zFOXVieTc6N62Nzeusbr8SNJ1twdfrJds5kp9oVx4Vrq07 lbbeJ6Rvbl2pQJ4Ir+LMZSs9NbJMrly9cqRFiaU4I9FQi7moOBEAlSi8AkUDAAA= 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.25 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, };