Received: by 10.192.165.148 with SMTP id m20csp472625imm; Wed, 25 Apr 2018 02:37:49 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/hAi7SLVNkxYcX/IxKjll+WOWNFXRGeTjx7geHWuwybTytzWS58EG3Kftw2Q1j4/QHS6xY X-Received: by 10.99.97.151 with SMTP id v145mr23597929pgb.35.1524649069599; Wed, 25 Apr 2018 02:37:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524649069; cv=none; d=google.com; s=arc-20160816; b=oLM8zZg5+vXJHQ5fO6QhlKRJ9WBrsVMfUIHqffDtup0733PDij3qK8M4apXI/lRDn6 PfFhruGQo07s4ZMKoECTzLwlcGCLWLXfJPdPG7+El4d4V3cNdnlg/lvzCnQkwvu8MbLV CEkuhrNovbfnwzeS+wKe8X8G4anhHiLDNDLiPQDy6pqfrIwPROJ4JwJFf68to0WcLCVf i2og9QGrgbT/gtAInlhmLmDb3fYSeMlSd6kZdzwa4DtdJ+7mDsIdYr3NK5FkYjgcm83Z FVbdSTAOv1TUMSlrLBOwEXuqfD9V7pI8EXSv02pV3xT8XCHcyDJhC/NIFX49Hw+9Vuib ZE7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=YYDoR1lq+jbHVwTWBqvoR2aI65i6RaLfFb3oMzdWxGQ=; b=p83+hHpoLRom6MDInofF5G/wX8pN48QgnbMfwUkKl/9nPvy5AxYKWIRanKidOSoKyP k/FlHrVnW4Igf/Ful+kgOwOJTzM5qe9es8zQJ5vADj0PtOzSLAMKsMZzA9hMnUCm9AMB ozsTbh9qOksVx9bSS1xffYT5yFNruSvXYvv/owvaG0f4tOmA81sFHWgmd8cC/Pbd7hr3 HQe4gp6sGGo44z+LfJI0S0sqrIt5z/ODlbwis12+iwlJzjcawxZUhKMsOBEXEbsGtgbH EmP/fKUiyP5mCRIQb9OnvSderyq4VzwnUCBFmAnzAU+S+4ns9MeXHB2jNIUxcTBulPaH EFMg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j16-v6si1730656pli.361.2018.04.25.02.37.35; Wed, 25 Apr 2018 02:37:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752510AbeDYJgO (ORCPT + 99 others); Wed, 25 Apr 2018 05:36:14 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:63767 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1751346AbeDYJc4 (ORCPT ); Wed, 25 Apr 2018 05:32:56 -0400 X-UUID: 22265ea74af44daf80e61d4a15d659ba-20180425 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 1460294330; Wed, 25 Apr 2018 17:32:51 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 25 Apr 2018 17:32:49 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1210.3 via Frontend Transport; Wed, 25 Apr 2018 17:32:49 +0800 From: To: , , , , , , , CC: , , , , , , Sean Wang Subject: [PATCH v2 11/17] rtc: mt6397: convert to use device managed functions Date: Wed, 25 Apr 2018 17:32:37 +0800 Message-ID: <6d203dafedc93496baf27f695d21e00c9564d840.1524646231.git.sean.wang@mediatek.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sean Wang Use device managed operation to simplify error handling, reduce source code size, and reduce the likelyhood of bugs, and remove our removal callback which contains anything already done by device managed functions. v1 -> v2: - Use devm_rtc_allocate_device() and rtc_register_device instead of devm_rtc_device_register. Signed-off-by: Sean Wang --- drivers/rtc/rtc-mt6397.c | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index 398bae5..91d584a 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -328,10 +329,10 @@ static int mtk_rtc_probe(struct platform_device *pdev) platform_set_drvdata(pdev, rtc); - ret = request_threaded_irq(rtc->irq, NULL, - mtk_rtc_irq_handler_thread, - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, - "mt6397-rtc", rtc); + ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL, + mtk_rtc_irq_handler_thread, + IRQF_ONESHOT | IRQF_TRIGGER_HIGH, + "mt6397-rtc", rtc); if (ret) { dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n", rtc->irq, ret); @@ -340,30 +341,13 @@ static int mtk_rtc_probe(struct platform_device *pdev) device_init_wakeup(&pdev->dev, 1); - rtc->rtc_dev = rtc_device_register("mt6397-rtc", &pdev->dev, - &mtk_rtc_ops, THIS_MODULE); - if (IS_ERR(rtc->rtc_dev)) { - dev_err(&pdev->dev, "register rtc device failed\n"); - ret = PTR_ERR(rtc->rtc_dev); - goto out_free_irq; - } - - return 0; - -out_free_irq: - free_irq(rtc->irq, rtc->rtc_dev); - - return ret; -} + rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev); + if (IS_ERR(rtc->rtc_dev)) + return PTR_ERR(rtc->rtc_dev); -static int mtk_rtc_remove(struct platform_device *pdev) -{ - struct mt6397_rtc *rtc = platform_get_drvdata(pdev); + rtc->rtc_dev->ops = &mtk_rtc_ops; - rtc_device_unregister(rtc->rtc_dev); - free_irq(rtc->irq, rtc->rtc_dev); - - return 0; + return rtc_register_device(rtc->rtc_dev); } #ifdef CONFIG_PM_SLEEP @@ -405,7 +389,6 @@ static struct platform_driver mtk_rtc_driver = { .pm = &mt6397_pm_ops, }, .probe = mtk_rtc_probe, - .remove = mtk_rtc_remove, }; module_platform_driver(mtk_rtc_driver); -- 2.7.4