Merge tag 'powerpc-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[linux-2.6-microblaze.git] / drivers / rtc / rtc-sc27xx.c
index 36810dd..187aa95 100644 (file)
@@ -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;
@@ -563,7 +529,7 @@ static int sprd_rtc_check_power_down(struct sprd_rtc *rtc)
         * means the RTC has been powered down, so the RTC time values are
         * invalid.
         */
-       rtc->valid = val == SPRD_RTC_POWER_RESET_VALUE ? false : true;
+       rtc->valid = val != SPRD_RTC_POWER_RESET_VALUE;
        return 0;
 }
 
@@ -652,7 +618,7 @@ static int sprd_rtc_probe(struct platform_device *pdev)
        rtc->rtc->ops = &sprd_rtc_ops;
        rtc->rtc->range_min = 0;
        rtc->rtc->range_max = 5662310399LL;
-       ret = rtc_register_device(rtc->rtc);
+       ret = devm_rtc_register_device(rtc->rtc);
        if (ret) {
                device_init_wakeup(&pdev->dev, 0);
                return ret;