From patchwork Wed Apr 17 01:08:18 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingoo Han X-Patchwork-Id: 237129 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-qc0-x240.google.com (mail-qc0-x240.google.com [IPv6:2607:f8b0:400d:c01::240]) (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 B2E4D2C0122 for ; Wed, 17 Apr 2013 11:08:32 +1000 (EST) Received: by mail-qc0-f192.google.com with SMTP id g10sf373786qcs.29 for ; Tue, 16 Apr 2013 18:08:30 -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=saFlcuVaJXuralWkzqIiqxQPs9mig1kE9GRspTu0RxI=; b=JS0tpXAFalwNHLNm/BmB85Yf2c843XjCOQR9AKP5l2/+rItbw6wi1oVkDkjFmmYYpx 7L3YgtDI+hmLJpZBPEja4jVa0HbrrxejFCDz2C2W6cOfcywGJ4i4B1kAI/HbZ0dAp13B SYr0sa6oKloxpt1XFEFq1Zg7LZrY3F8SUHAD+3JMDrCoepfRWrLYbsvnqtsso8pWflsa oYjCqF2KFCRgFnDAMMP/KQyjVggapFZQmloAXvKlVrvXZUFMMLJNdbYYRQKM3WelKwTI d3dByZNW1VEEYO7CI4mu8cxbWlIhveOjAbOXpJH6l3yLHTiK41vB7BS9OI+zTxu9gV10 Iffw== X-Received: by 10.50.217.225 with SMTP id pb1mr2247878igc.5.1366160910202; Tue, 16 Apr 2013 18:08:30 -0700 (PDT) X-BeenThere: rtc-linux@googlegroups.com Received: by 10.50.185.135 with SMTP id fc7ls2705826igc.19.canary; Tue, 16 Apr 2013 18:08:29 -0700 (PDT) X-Received: by 10.66.122.7 with SMTP id lo7mr338966pab.4.1366160909684; Tue, 16 Apr 2013 18:08:29 -0700 (PDT) Received: from mailout2.samsung.com (mailout2.samsung.com. [203.254.224.25]) by gmr-mx.google.com with ESMTP id qo12si807207pbb.1.2013.04.16.18.08.29; Tue, 16 Apr 2013 18:08:29 -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 epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MLD008T1KHC3A90@mailout2.samsung.com> for rtc-linux@googlegroups.com; Wed, 17 Apr 2013 10:08:19 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.48]) by epcpsbgr5.samsung.com (EPCPMTA) with SMTP id CA.32.12250.306FD615; Wed, 17 Apr 2013 10:08:19 +0900 (KST) X-AuditID: cbfee691-b7f5f6d000002fda-cc-516df6034601 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 50.5F.13494.306FD615; Wed, 17 Apr 2013 10:08:19 +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 <0MLD00DE4KHULKK0@mmp2.samsung.com>; Wed, 17 Apr 2013 10:08:18 +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 5/8] rtc: rtc-puv3: convert puv3_rtc_driver to dev_pm_ops Date: Wed, 17 Apr 2013 10:08:18 +0900 Message-id: <003401ce3b08$0c1d3160$24579420$%han@samsung.com> MIME-version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac47B9XUIMaX4YjsSbW0FEYgtMIOOAAACt7Q X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrGIsWRmVeSWpSXmKPExsVy+t8zA13mb7mBBud2C1gsuXiV3WLO+jVs FpcXXmK1uLxrDpvF/s4ORgdWjz0TT7J5nJjxm8Wjb8sqRo/p834yeXzeJBfAGsVlk5Kak1mW WqRvl8CV0Xk9puCMSMXtxRsZGxivCnQxcnBICJhIrF0g0sXICWSKSVy4t56ti5GLQ0hgGaPE 9MVtLBAJE4nni6ewQiSmM0rMu3wPquoXo8SSl/tYQarYBNQkvnw5zA4yVURAX6KtRQOkhlmg l1HiTO9udpAaIQFbiZsdh5hAbE4BO4lvR+4wgtjCAgESE+ZdBKthEVCVmNv0FMzmBao/Pnc2 I4QtKPFj8j2wi5gFtCTW7zzOBGHLS2xe85YZ4ht1iUd/dUHCIgJGEus+/2OGKBGR2PfiHSPI PRIC99gluuauZYHYJSDxbfIhFoheWYlNB5ghHpaUOLjiBssERolZSDbPQrJ5FpLNs5CsWMDI sopRNLUguaA4Kb3IVK84Mbe4NC9dLzk/dxMjJE4n7mC8f8D6EGMy0PqJzFKiyfnAOM8riTc0 NjOyMDUxNTYytzQjTVhJnFe9xTpQSCA9sSQ1OzW1ILUovqg0J7X4ECMTB6dUA2NtWa2+wYdN uRqXpwkcnMf/i5Op+HH/bP7u18Lz7u3a6+AW3dbsfGzp2mWR/BtW++2P6V45xzTk14/Vkc4J LqU2uXJf/5+4Pt34sGvs5ZwymQgn7bN54u2XWvKf2KyaG3vxs81XzYXyITyeFT0GIu/33RKI 410fzT399J5S+X/mHMznzxnN6lZiKc5INNRiLipOBAA3dT3L6QIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrCKsWRmVeSWpSXmKPExsVy+t9jQV3mb7mBBjdu81gsuXiV3WLO+jVs FpcXXmK1uLxrDpvF/s4ORgdWjz0TT7J5nJjxm8Wjb8sqRo/p834yeXzeJBfAGtXAaJORmpiS WqSQmpecn5KZl26r5B0c7xxvamZgqGtoaWGupJCXmJtqq+TiE6DrlpkDtF1JoSwxpxQoFJBY XKykb4dpQmiIm64FTGOErm9IEFyPkQEaSFjHmNF5PabgjEjF7cUbGRsYrwp0MXJySAiYSDxf PIUVwhaTuHBvPVsXIxeHkMB0Rol5l+9BOb8YJZa83AdWxSagJvHly2H2LkYODhEBfYm2Fg2Q GmaBXkaJM7272UFqhARsJW52HGICsTkF7CS+HbnDCGILCwRITJh3EayGRUBVYm7TUzCbF6j+ +NzZjBC2oMSPyfdYQGxmAS2J9TuPM0HY8hKb17xlBtkrIaAu8eivLkhYRMBIYt3nf8wQJSIS +168Y5zAKDQLyaRZSCbNQjJpFpKWBYwsqxhFUwuSC4qT0nON9IoTc4tL89L1kvNzNzGC08Az 6R2MqxosDjEKcDAq8fBeKMgNFGJNLCuuzD3EKMHBrCTCq7gKKMSbklhZlVqUH19UmpNafIgx GejRicxSosn5wBSVVxJvaGxiZmRpZGZhZGJuTpqwkjjvwVbrQCGB9MSS1OzU1ILUIpgtTByc Ug2MCbp9TJ+1vl7NSpvc0BK1VDAvv8H5AqtBfuCFhZNm8qoXnL918GLZ1OWi0s8nz2r4JJCR 9v5g+ZFdgfNipZiu6BgskfJTOf3ow6GADmkbh6CZWwRLfVw3BHW2JxyZHNnyvulkS+Kpg9+3 Ga7L5Z/Dxs7enPDd//oOu0bDg8eC3lzkcy22WH1diaU4I9FQi7moOBEAy38sYUcDAAA= 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-puv3.c | 27 ++++++++++++--------------- 1 files changed, 12 insertions(+), 15 deletions(-) diff --git a/drivers/rtc/rtc-puv3.c b/drivers/rtc/rtc-puv3.c index 0407e13..72f4371 100644 --- a/drivers/rtc/rtc-puv3.c +++ b/drivers/rtc/rtc-puv3.c @@ -207,14 +207,14 @@ static const struct rtc_class_ops puv3_rtcops = { .proc = puv3_rtc_proc, }; -static void puv3_rtc_enable(struct platform_device *pdev, int en) +static void puv3_rtc_enable(struct device *dev, int en) { if (!en) { writel(readl(RTC_RTSR) & ~RTC_RTSR_HZE, RTC_RTSR); } else { /* re-enable the device, and check it is ok */ if ((readl(RTC_RTSR) & RTC_RTSR_HZE) == 0) { - dev_info(&pdev->dev, "rtc disabled, re-enabling\n"); + dev_info(dev, "rtc disabled, re-enabling\n"); writel(readl(RTC_RTSR) | RTC_RTSR_HZE, RTC_RTSR); } } @@ -276,7 +276,7 @@ static int puv3_rtc_probe(struct platform_device *pdev) goto err_nores; } - puv3_rtc_enable(pdev, 1); + puv3_rtc_enable(&pdev->dev, 1); /* register RTC and exit */ rtc = rtc_device_register("pkunity", &pdev->dev, &puv3_rtcops, @@ -296,44 +296,41 @@ static int puv3_rtc_probe(struct platform_device *pdev) return 0; err_nortc: - puv3_rtc_enable(pdev, 0); + puv3_rtc_enable(&pdev->dev, 0); release_resource(puv3_rtc_mem); err_nores: return ret; } -#ifdef CONFIG_PM - +#ifdef CONFIG_PM_SLEEP static int ticnt_save; -static int puv3_rtc_suspend(struct platform_device *pdev, pm_message_t state) +static int puv3_rtc_suspend(struct device *dev) { /* save RTAR for anyone using periodic interrupts */ ticnt_save = readl(RTC_RTAR); - puv3_rtc_enable(pdev, 0); + puv3_rtc_enable(dev, 0); return 0; } -static int puv3_rtc_resume(struct platform_device *pdev) +static int puv3_rtc_resume(struct device *dev) { - puv3_rtc_enable(pdev, 1); + puv3_rtc_enable(dev, 1); writel(ticnt_save, RTC_RTAR); return 0; } -#else -#define puv3_rtc_suspend NULL -#define puv3_rtc_resume NULL #endif +static SIMPLE_DEV_PM_OPS(puv3_rtc_pm_ops, puv3_rtc_suspend, puv3_rtc_resume); + static struct platform_driver puv3_rtc_driver = { .probe = puv3_rtc_probe, .remove = puv3_rtc_remove, - .suspend = puv3_rtc_suspend, - .resume = puv3_rtc_resume, .driver = { .name = "PKUnity-v3-RTC", .owner = THIS_MODULE, + .pm = &puv3_rtc_pm_ops, } };