Lines Matching refs:rtc_tm

302 static void get_rtc_time(struct rtc_time *rtc_tm)
314 rtc_tm->tm_sec = i2c_inb(I2C_ACK);
315 rtc_tm->tm_min = i2c_inb(I2C_ACK);
316 rtc_tm->tm_hour = i2c_inb(I2C_ACK);
317 rtc_tm->tm_wday = i2c_inb(I2C_ACK);
318 rtc_tm->tm_mday = i2c_inb(I2C_ACK);
319 rtc_tm->tm_mon = i2c_inb(I2C_ACK);
320 rtc_tm->tm_year = i2c_inb(I2C_NAK);
329 if (rtc_tm->tm_mon & RTC_Y2K_MASK) {
330 rtc_tm->tm_mon &= ~RTC_Y2K_MASK;
331 rtc_tm->tm_year += 0x100;
334 rtc_tm->tm_sec = from_bcd(rtc_tm->tm_sec);
335 rtc_tm->tm_min = from_bcd(rtc_tm->tm_min);
336 rtc_tm->tm_hour = from_bcd(rtc_tm->tm_hour);
337 rtc_tm->tm_mday = from_bcd(rtc_tm->tm_mday);
338 rtc_tm->tm_mon = from_bcd(rtc_tm->tm_mon) - 1;
339 rtc_tm->tm_year = from_bcd(rtc_tm->tm_year);
341 rtc_tm->tm_isdst = -1; /* DST not known */
344 static void set_rtc_time(struct rtc_time *rtc_tm)
346 rtc_tm->tm_sec = to_bcd(rtc_tm->tm_sec);
347 rtc_tm->tm_min = to_bcd(rtc_tm->tm_min);
348 rtc_tm->tm_hour = to_bcd(rtc_tm->tm_hour);
349 rtc_tm->tm_mday = to_bcd(rtc_tm->tm_mday);
350 rtc_tm->tm_mon = to_bcd(rtc_tm->tm_mon + 1);
351 rtc_tm->tm_year = to_bcd(rtc_tm->tm_year);
353 if (rtc_tm->tm_year >= 0x100) {
354 rtc_tm->tm_year -= 0x100;
355 rtc_tm->tm_mon |= RTC_Y2K_MASK;
362 i2c_outb(rtc_tm->tm_sec);
363 i2c_outb(rtc_tm->tm_min);
364 i2c_outb(rtc_tm->tm_hour);
365 i2c_outb(rtc_tm->tm_wday);
366 i2c_outb(rtc_tm->tm_mday);
367 i2c_outb(rtc_tm->tm_mon);
368 i2c_outb(rtc_tm->tm_year);
376 struct rtc_time rtc_tm;
401 rtc_tm.tm_year = simple_strtoul(p, &p, 10);
404 rtc_tm.tm_mon = simple_strtoul(p, &p, 10) - 1;
407 rtc_tm.tm_mday = simple_strtoul(p, &p, 10);
410 rtc_tm.tm_wday = simple_strtoul(p, &p, 10);
413 rtc_tm.tm_hour = simple_strtoul(p, &p, 10);
416 rtc_tm.tm_min = simple_strtoul(p, &p, 10);
419 rtc_tm.tm_sec = simple_strtoul(p, &p, 10);
422 rtc_tm.tm_year -= RTC_EPOCH;
424 set_rtc_time(&rtc_tm);
470 struct rtc_time rtc_tm;
474 memset(&rtc_tm, 0, sizeof(struct rtc_time));
475 get_rtc_time(&rtc_tm);
476 if (copy_to_user((void *)arg, &rtc_tm, sizeof(rtc_tm)))
484 if (copy_from_user(&rtc_tm, (struct rtc_time *)arg,
488 set_rtc_time(&rtc_tm);