Lines Matching refs:dt
71 static int r9701_get_datetime(struct device *dev, struct rtc_time *dt) in r9701_get_datetime() argument
81 memset(dt, 0, sizeof(*dt)); in r9701_get_datetime()
83 dt->tm_sec = bcd2bin(buf[0]); /* RSECCNT */ in r9701_get_datetime()
84 dt->tm_min = bcd2bin(buf[1]); /* RMINCNT */ in r9701_get_datetime()
85 dt->tm_hour = bcd2bin(buf[2]); /* RHRCNT */ in r9701_get_datetime()
87 dt->tm_mday = bcd2bin(buf[3]); /* RDAYCNT */ in r9701_get_datetime()
88 dt->tm_mon = bcd2bin(buf[4]) - 1; /* RMONCNT */ in r9701_get_datetime()
89 dt->tm_year = bcd2bin(buf[5]) + 100; /* RYRCNT */ in r9701_get_datetime()
95 return rtc_valid_tm(dt); in r9701_get_datetime()
98 static int r9701_set_datetime(struct device *dev, struct rtc_time *dt) in r9701_set_datetime() argument
102 year = dt->tm_year + 1900; in r9701_set_datetime()
106 ret = write_reg(dev, RHRCNT, bin2bcd(dt->tm_hour)); in r9701_set_datetime()
107 ret = ret ? ret : write_reg(dev, RMINCNT, bin2bcd(dt->tm_min)); in r9701_set_datetime()
108 ret = ret ? ret : write_reg(dev, RSECCNT, bin2bcd(dt->tm_sec)); in r9701_set_datetime()
109 ret = ret ? ret : write_reg(dev, RDAYCNT, bin2bcd(dt->tm_mday)); in r9701_set_datetime()
110 ret = ret ? ret : write_reg(dev, RMONCNT, bin2bcd(dt->tm_mon + 1)); in r9701_set_datetime()
111 ret = ret ? ret : write_reg(dev, RYRCNT, bin2bcd(dt->tm_year - 100)); in r9701_set_datetime()
112 ret = ret ? ret : write_reg(dev, RWKCNT, 1 << dt->tm_wday); in r9701_set_datetime()
125 struct rtc_time dt; in r9701_probe() local
141 if (r9701_get_datetime(&spi->dev, &dt)) { in r9701_probe()
143 dt.tm_sec = 0; in r9701_probe()
144 dt.tm_min = 0; in r9701_probe()
145 dt.tm_hour = 0; in r9701_probe()
146 dt.tm_mday = 1; in r9701_probe()
147 dt.tm_mon = 0; in r9701_probe()
148 dt.tm_year = 100; in r9701_probe()
150 if (r9701_set_datetime(&spi->dev, &dt) || in r9701_probe()
151 r9701_get_datetime(&spi->dev, &dt)) { in r9701_probe()