Lines Matching refs:tm
87 static int bq32k_rtc_read_time(struct device *dev, struct rtc_time *tm) in bq32k_rtc_read_time() argument
96 tm->tm_sec = bcd2bin(regs.seconds & BQ32K_SECONDS_MASK); in bq32k_rtc_read_time()
97 tm->tm_min = bcd2bin(regs.minutes & BQ32K_SECONDS_MASK); in bq32k_rtc_read_time()
98 tm->tm_hour = bcd2bin(regs.cent_hours & BQ32K_HOURS_MASK); in bq32k_rtc_read_time()
99 tm->tm_mday = bcd2bin(regs.date); in bq32k_rtc_read_time()
100 tm->tm_wday = bcd2bin(regs.day) - 1; in bq32k_rtc_read_time()
101 tm->tm_mon = bcd2bin(regs.month) - 1; in bq32k_rtc_read_time()
102 tm->tm_year = bcd2bin(regs.years) + in bq32k_rtc_read_time()
105 return rtc_valid_tm(tm); in bq32k_rtc_read_time()
108 static int bq32k_rtc_set_time(struct device *dev, struct rtc_time *tm) in bq32k_rtc_set_time() argument
112 regs.seconds = bin2bcd(tm->tm_sec); in bq32k_rtc_set_time()
113 regs.minutes = bin2bcd(tm->tm_min); in bq32k_rtc_set_time()
114 regs.cent_hours = bin2bcd(tm->tm_hour) | BQ32K_CENT_EN; in bq32k_rtc_set_time()
115 regs.day = bin2bcd(tm->tm_wday + 1); in bq32k_rtc_set_time()
116 regs.date = bin2bcd(tm->tm_mday); in bq32k_rtc_set_time()
117 regs.month = bin2bcd(tm->tm_mon + 1); in bq32k_rtc_set_time()
119 if (tm->tm_year >= 100) { in bq32k_rtc_set_time()
121 regs.years = bin2bcd(tm->tm_year - 100); in bq32k_rtc_set_time()
123 regs.years = bin2bcd(tm->tm_year); in bq32k_rtc_set_time()