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