Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp103908pxb; Tue, 17 Nov 2020 22:33:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJxkXbTciXjc6jG6vuHTf1/G7ws54JZdMfNVYvxFX5aOtUccpoDPnsU0usUtCKK55FgtmQPS X-Received: by 2002:a17:906:ad8c:: with SMTP id la12mr22058073ejb.521.1605681210832; Tue, 17 Nov 2020 22:33:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605681210; cv=none; d=google.com; s=arc-20160816; b=NzzOx90/f9m9jD46JiroRpnZwRlyl4vHwjDhwvUIQN6MQ77U6Unymp7VoBHc0R/+IC zatF+VR1i4UcuwxRZTLoSIh4AMlFJLslJWQlCT9uZSR90IsXhDlClEsPZybEiNyHTWrS eUkbAElyxZO47dVYLpwpmgtchheGE134keDLJpFNNCDeWJqSG/82A+B4RboRtMBelWWQ Kmhiu1bzk5kMSTYRaslwEhhhk3qrBze6K1Mz9nVo9Tp6kjVC5Hp1YqigDQkWPyyZVuaU L0EBiL29TfLAfh/MW0juV1GZy8F706OZbCAo3zN5M7pqMrw2spIiaq2IExUe4Ei8bLsj MOXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=WL1QTPFW169V3/rommHaEV6KiqpoG4u90/ccyjWonZc=; b=M28DVT3qDNprmxdHW94/a+ZHf8pkDXEJLesSSSzAB2I5kfQtIgjTfwj3YUDPK4ajWU /IrjWoHPXuu6cA+JdzOWb/rFfzcLQeKWb103AM+9hEn32GsSvVlRnED9UH2sAPUvk46S 3r1orzXJP853O+NJ7uyMIoi9o1C8t+DZJOpgHkIRpZkW/vka1/mY8Xic8AbSqE7PCNHv 5m6HKi12kkWHHrObpyqMV95L2D0TYceRzLjnv+dNvoPdTeBnxSblvmY4IAnGDKuUBKx/ UjU7qoS4uOey5kAuRSHj3e/bfNwiIlAJllEMb/P5w2MBu7oNr4JTfYRKsffS21NMLN/Y 8kBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=RAQ6Xndp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n3si17691663eda.283.2020.11.17.22.33.07; Tue, 17 Nov 2020 22:33:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=RAQ6Xndp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726186AbgKRGbw (ORCPT + 99 others); Wed, 18 Nov 2020 01:31:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50022 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725970AbgKRGbw (ORCPT ); Wed, 18 Nov 2020 01:31:52 -0500 Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BAF2C0613D4; Tue, 17 Nov 2020 22:31:52 -0800 (PST) Received: by mail-wm1-x341.google.com with SMTP id h2so1881639wmm.0; Tue, 17 Nov 2020 22:31:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WL1QTPFW169V3/rommHaEV6KiqpoG4u90/ccyjWonZc=; b=RAQ6Xndp1GchA579n+zIc+q23xaNBTqLEZuFfUCdBShp9BEWobDJfGJzm7iLyBpxaY ytjVBGKH2f57g8hrEhyO/9uoa3E078dOzQuEx3uOqAUXBoUCXuO7UPjHpVTd77CTp3AT pzrxi1oByurneC+41pxV4/FBnmLW3ob/SJGfOfLUMBqOvmUt9dTIBOkbJTHp4t82rmVt ESeWIFQid5m0C4GA6dhqnwmFNzc6WxMCVrFuCGmkzDSsR3s/H6U0p3twwrP4yl33duAF yZiZxzr62spZ/W6SXo0BPlwtvTdXfPhsGePUi3ijEV4xTGwkZi6UKu6a5O+omri8lqQS hGvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WL1QTPFW169V3/rommHaEV6KiqpoG4u90/ccyjWonZc=; b=knOCSfGgsPX+kCaVyfwAAp/QAnUg28wcvevJTSqnqSY/uwid168WkLVXjP85tqvlqu FnMubgJdvLlRzHsSaG93IwP0AlEJpMLS0YPuHPUKuTm/nQG/QqXtvGvtKFElaxnH6XJF 2el61ddjMn52ux4OBLC8eXg6+/nzhrTV0JryVizFrAA/FuogRNgnEeJi8sJqPwmlggv9 xtK+Z0laCNZAaB4SrB4YTumQQc8RuRza1CAf/MW9gyLbW76ce4blFcTE27FRMAmlCxOb eTdPCNgxyJctIF265/lFM0DpmpDYghaqV2W2ER38ik25+gVZjYeu12VdZWctYKTTFycr 3Ljg== X-Gm-Message-State: AOAM533AQnvhIGBewfmN2omD3ryZOc6TNWfng3WeyWi02k1OOeLzMRBc B6E0NV6NYMAkAZjmCMCkDP4GVChu2libf+E76WE= X-Received: by 2002:a1c:9ad3:: with SMTP id c202mr2544327wme.43.1605681110874; Tue, 17 Nov 2020 22:31:50 -0800 (PST) MIME-Version: 1.0 References: <20201117212201.1288608-1-alexandre.belloni@bootlin.com> In-Reply-To: <20201117212201.1288608-1-alexandre.belloni@bootlin.com> From: Chunyan Zhang Date: Wed, 18 Nov 2020 14:31:14 +0800 Message-ID: Subject: Re: [PATCH] rtc: sc27xx: Always read normal alarm To: Alexandre Belloni Cc: Alessandro Zummo , Orson Zhai , Baolin Wang , Bartosz Golaszewski , linux-rtc@vger.kernel.org, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Alexandre, Thanks for this cleanup. On Wed, 18 Nov 2020 at 05:22, Alexandre Belloni wrote: > > The RTC core only reads the alarm from the hardware at boot time, to know > whether an alarm was already set before booting. It keeps track of all the > alarms after that so there is no need to ever read the auxiliary alarm. > > Commit 3822d1bb0df1 ("rtc: sc27xx: Always read normal alarm when > registering RTC device") already effectively removed the capability to read > the auxiliary alarm a .read_alarm is always called with rtc->registered set one nit suggestion: add a comma before "a .read_alarm is ..." > to false. > > Signed-off-by: Alexandre Belloni Reviewed-by: Chunyan Zhang Cheers, Chunyan > --- > drivers/rtc/rtc-sc27xx.c | 38 ++------------------------------------ > 1 file changed, 2 insertions(+), 36 deletions(-) > > diff --git a/drivers/rtc/rtc-sc27xx.c b/drivers/rtc/rtc-sc27xx.c > index 6e65f68ea86d..a953bc0a5a5b 100644 > --- a/drivers/rtc/rtc-sc27xx.c > +++ b/drivers/rtc/rtc-sc27xx.c > @@ -299,33 +299,6 @@ static int sprd_rtc_set_secs(struct sprd_rtc *rtc, enum sprd_rtc_reg_types type, > sts_mask); > } > > -static int sprd_rtc_read_aux_alarm(struct device *dev, struct rtc_wkalrm *alrm) > -{ > - struct sprd_rtc *rtc = dev_get_drvdata(dev); > - time64_t secs; > - u32 val; > - int ret; > - > - ret = sprd_rtc_get_secs(rtc, SPRD_RTC_AUX_ALARM, &secs); > - if (ret) > - return ret; > - > - rtc_time64_to_tm(secs, &alrm->time); > - > - ret = regmap_read(rtc->regmap, rtc->base + SPRD_RTC_INT_EN, &val); > - if (ret) > - return ret; > - > - alrm->enabled = !!(val & SPRD_RTC_AUXALM_EN); > - > - ret = regmap_read(rtc->regmap, rtc->base + SPRD_RTC_INT_RAW_STS, &val); > - if (ret) > - return ret; > - > - alrm->pending = !!(val & SPRD_RTC_AUXALM_EN); > - return 0; > -} > - > static int sprd_rtc_set_aux_alarm(struct device *dev, struct rtc_wkalrm *alrm) > { > struct sprd_rtc *rtc = dev_get_drvdata(dev); > @@ -415,16 +388,9 @@ static int sprd_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) > u32 val; > > /* > - * Before RTC device is registered, it will check to see if there is an > - * alarm already set in RTC hardware, and we always read the normal > - * alarm at this time. > - * > - * Or if aie_timer is enabled, we should get the normal alarm time. > - * Otherwise we should get auxiliary alarm time. > + * The RTC core checks to see if there is an alarm already set in RTC > + * hardware, and we always read the normal alarm at this time. > */ > - if (rtc->rtc && rtc->rtc->registered && rtc->rtc->aie_timer.enabled == 0) > - return sprd_rtc_read_aux_alarm(dev, alrm); > - > ret = sprd_rtc_get_secs(rtc, SPRD_RTC_ALARM, &secs); > if (ret) > return ret; > -- > 2.28.0 >