From patchwork Wed Apr 17 01:06:47 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingoo Han X-Patchwork-Id: 237125 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-ia0-x239.google.com (mail-ia0-x239.google.com [IPv6:2607:f8b0:4001:c02::239]) (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 05D432C011E for ; Wed, 17 Apr 2013 11:06:52 +1000 (EST) Received: by mail-ia0-f185.google.com with SMTP id w33sf373195iag.12 for ; Tue, 16 Apr 2013 18:06:50 -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 :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=v8kBHKQ7HTM5+DU5x6XewOuTwTe4w7DZENsciXU5AFM=; b=wkQ9D2pMrWTLqr9RsLiITF1r8iTtZqajOxp2hEHfMafkHC3ScizGII6qOcZi9ua3Bc 37nKXUriaI56Ex4THa/sOTbbThhxggwIhPZcOqm1d4ruhPPZ3vb7ndRem3p4iyCvRNW3 p4EkWyoZ0A3X8/DsEMoeTHt0YQEng3s4fsRv8oRAqApv/ko6QE/cvzq8ynBcDDHCv8pc FWAkYmqmluLg5o1FwII0Qxo6JGhpsCPwNr1c0HmSjttzOSuNyxKM+DU4ZEZaVDAlhTWB RxamDwd99BY9F7IT63TN1GydHb6g2IlYQoXcPooUDgAiZosVnxQ34ExAGf+0HdgYD6rr SfgQ== X-Received: by 10.50.16.71 with SMTP id e7mr844792igd.14.1366160810009; Tue, 16 Apr 2013 18:06:50 -0700 (PDT) X-BeenThere: rtc-linux@googlegroups.com Received: by 10.50.208.102 with SMTP id md6ls2676613igc.11.canary; Tue, 16 Apr 2013 18:06:49 -0700 (PDT) X-Received: by 10.66.233.130 with SMTP id tw2mr378821pac.21.1366160809269; Tue, 16 Apr 2013 18:06:49 -0700 (PDT) Received: from mailout4.samsung.com (mailout4.samsung.com. [203.254.224.34]) by gmr-mx.google.com with ESMTP id xq5si456725pac.2.2013.04.16.18.06.49; Tue, 16 Apr 2013 18:06:49 -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 <0MLD002U9KF802D0@mailout4.samsung.com> for rtc-linux@googlegroups.com; Wed, 17 Apr 2013 10:06:48 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.49]) by epcpsbgr2.samsung.com (EPCPMTA) with SMTP id E4.BB.07735.8A5FD615; Wed, 17 Apr 2013 10:06:48 +0900 (KST) X-AuditID: cbfee68e-b7f946d000001e37-3f-516df5a8373e Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id C1.FE.13494.8A5FD615; Wed, 17 Apr 2013 10:06:48 +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 <0MLD00EH1KFC8060@mmp1.samsung.com>; Wed, 17 Apr 2013 10:06:48 +0900 (KST) From: Jingoo Han To: 'Andrew Morton' Cc: linux-kernel@vger.kernel.org, 'Alessandro Zummo' , rtc-linux@googlegroups.com, 'Jingoo Han' Subject: [rtc-linux] [PATCH RESEND 1/8] rtc: rtc-at91sam9: convert at91_rtc_driver to dev_pm_ops Date: Wed, 17 Apr 2013 10:06:47 +0900 Message-id: <003001ce3b07$d5f29da0$81d7d8e0$%han@samsung.com> MIME-version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac47B9XUIMaX4YjsSbW0FEYgtMIOOA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrAIsWRmVeSWpSXmKPExsVy+t8zQ90VX3MDDT7OF7ZYcvEqu8Wc9WvY LC4vvMRqcXnXHDaL/Z0djA6sHnsmnmTzODHjN4tH35ZVjB7T5/1k8vi8SS6ANYrLJiU1J7Ms tUjfLoErY3vLTOaCU8IVSxp3MDYw/uTvYuTkkBAwkfh8+RorhC0mceHeerYuRi4OIYFljBKr nz9jhSl6eHMjO0RiEaPEh0VfmCGcX4wSMz7OA6tiE1CT+PLlMFAVB4eIgL5EW4sGSA2zQC+j xJne3ewgNcICYRKPns5gBLFZBFQlTtybAtbLK2Ar0dt/iQXCFpT4MfkemM0soCWxfudxJghb XmLzmrfMIPMlBNQlHv3VBQmLCOhJ9B28ygxRIiKx78U7RpC9EgLH2CVWvpvKDrFLQOLb5EMs EL2yEpsOMEM8JilxcMUNlgmMYrOQbJ6FZPMsJJtnIVmxgJFlFaNoakFyQXFSepGRXnFibnFp Xrpecn7uJkZI7PXtYLx5wPoQYzLQ+onMUqLJ+cDYzSuJNzQ2M7IwNTE1NjK3NCNNWEmcV63F OlBIID2xJDU7NbUgtSi+qDQntfgQIxMHp1QDo/siIX7Jp8Vn3tR1OK+ZJqPWOz+u/n/mJI4O 7eu2n6a3bWA3M81/2ZD/gKUnaav+T6Yeq9Vf6ypObP0pPVntV/nWhWJqR2fcX/HMdN2mG2lu XmL/r8nx9gVdfrt06a7uE4/+/Ax4U6y+aZFhfZNOhJCG0yQ1iXVXv92ad0DMYprotP0KezhY 3JVYijMSDbWYi4oTAeraHznTAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprLKsWRmVeSWpSXmKPExsVy+t9jAd0VX3MDDc6t4rNYcvEqu8Wc9WvY LC4vvMRqcXnXHDaL/Z0djA6sHnsmnmTzODHjN4tH35ZVjB7T5/1k8vi8SS6ANaqB0SYjNTEl tUghNS85PyUzL91WyTs43jne1MzAUNfQ0sJcSSEvMTfVVsnFJ0DXLTMHaLuSQlliTilQKCCx uFhJ3w7ThNAQN10LmMYIXd+QILgeIwM0kLCOMWN7y0zmglPCFUsadzA2MP7k72Lk5JAQMJF4 eHMjO4QtJnHh3nq2LkYuDiGBRYwSHxZ9YYZwfjFKzPg4jxWkik1ATeLLl8NAHRwcIgL6Em0t GiA1zAK9jBJneneDTRIWCJN49HQGI4jNIqAqceLeFLBeXgFbid7+SywQtqDEj8n3wGxmAS2J 9TuPM0HY8hKb17xlBpkvIaAu8eivLkhYREBPou/gVWaIEhGJfS/eMU5gFJiFZNIsJJNmIZk0 C0nLAkaWVYyiqQXJBcVJ6blGesWJucWleel6yfm5mxjBkf1MegfjqgaLQ4wCHIxKPLwXCnID hVgTy4orcw8xSnAwK4nwKq4CCvGmJFZWpRblxxeV5qQWH2JMBnp0IrOUaHI+MOnklcQbGpuY GVkamVkYmZibkyasJM57sNU6UEggPbEkNTs1tSC1CGYLEwenVAOji6VOyMPYeIYHruuz5iyy aLx95uMFi3UOpY2xVy3jWbTye0JVNYIemDLvrkx4k5wfnvdzhrKxenNinKZ245M1VwR1orbe E56wOGKmsiy73XXX56tNjh5mOsMeOXOVhnPXXzWfb6+Zmc1z5u8NPKHk5+O/zeD+lzzNml/X FiaXzM8XbjJmKlFiKc5INNRiLipOBACzP12GMAMAAA== 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-at91sam9.c | 23 ++++++++++------------- 1 files changed, 10 insertions(+), 13 deletions(-) diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c index 39cfd2e..4843e42 100644 --- a/drivers/rtc/rtc-at91sam9.c +++ b/drivers/rtc/rtc-at91sam9.c @@ -414,14 +414,13 @@ static void at91_rtc_shutdown(struct platform_device *pdev) rtt_writel(rtc, MR, mr & ~rtc->imr); } -#ifdef CONFIG_PM +#ifdef CONFIG_PM_SLEEP /* AT91SAM9 RTC Power management control */ -static int at91_rtc_suspend(struct platform_device *pdev, - pm_message_t state) +static int at91_rtc_suspend(struct device *dev) { - struct sam9_rtc *rtc = platform_get_drvdata(pdev); + struct sam9_rtc *rtc = dev_get_drvdata(dev); u32 mr = rtt_readl(rtc, MR); /* @@ -430,7 +429,7 @@ static int at91_rtc_suspend(struct platform_device *pdev, */ rtc->imr = mr & (AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN); if (rtc->imr) { - if (device_may_wakeup(&pdev->dev) && (mr & AT91_RTT_ALMIEN)) { + if (device_may_wakeup(dev) && (mr & AT91_RTT_ALMIEN)) { enable_irq_wake(rtc->irq); /* don't let RTTINC cause wakeups */ if (mr & AT91_RTT_RTTINCIEN) @@ -442,13 +441,13 @@ static int at91_rtc_suspend(struct platform_device *pdev, return 0; } -static int at91_rtc_resume(struct platform_device *pdev) +static int at91_rtc_resume(struct device *dev) { - struct sam9_rtc *rtc = platform_get_drvdata(pdev); + struct sam9_rtc *rtc = dev_get_drvdata(dev); u32 mr; if (rtc->imr) { - if (device_may_wakeup(&pdev->dev)) + if (device_may_wakeup(dev)) disable_irq_wake(rtc->irq); mr = rtt_readl(rtc, MR); rtt_writel(rtc, MR, mr | rtc->imr); @@ -456,20 +455,18 @@ static int at91_rtc_resume(struct platform_device *pdev) return 0; } -#else -#define at91_rtc_suspend NULL -#define at91_rtc_resume NULL #endif +static SIMPLE_DEV_PM_OPS(at91_rtc_pm_ops, at91_rtc_suspend, at91_rtc_resume); + static struct platform_driver at91_rtc_driver = { .probe = at91_rtc_probe, .remove = at91_rtc_remove, .shutdown = at91_rtc_shutdown, - .suspend = at91_rtc_suspend, - .resume = at91_rtc_resume, .driver = { .name = "rtc-at91sam9", .owner = THIS_MODULE, + .pm = &at91_rtc_pm_ops, }, };