Lines Matching refs:alrm
216 static int loongson_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
226 alrm->time.tm_sec = FIELD_GET(TOY_MATCH_SEC, alarm_data);
227 alrm->time.tm_min = FIELD_GET(TOY_MATCH_MIN, alarm_data);
228 alrm->time.tm_hour = FIELD_GET(TOY_MATCH_HOUR, alarm_data);
229 alrm->time.tm_mday = FIELD_GET(TOY_MATCH_DAY, alarm_data);
230 alrm->time.tm_mon = FIELD_GET(TOY_MATCH_MON, alarm_data) - 1;
242 alrm->time.tm_year = FIELD_GET(TOY_MATCH_YEAR, alarm_data) + priv->fix_year;
244 alrm->enabled = !!(readl(priv->pm_base + PM1_EN_REG) & RTC_EN);
263 static int loongson_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
269 alarm_data = FIELD_PREP(TOY_MATCH_SEC, alrm->time.tm_sec)
270 | FIELD_PREP(TOY_MATCH_MIN, alrm->time.tm_min)
271 | FIELD_PREP(TOY_MATCH_HOUR, alrm->time.tm_hour)
272 | FIELD_PREP(TOY_MATCH_DAY, alrm->time.tm_mday)
273 | FIELD_PREP(TOY_MATCH_MON, alrm->time.tm_mon + 1)
274 | FIELD_PREP(TOY_MATCH_YEAR, alrm->time.tm_year - priv->fix_year);
280 return loongson_rtc_alarm_irq_enable(dev, alrm->enabled);