Lines Matching refs:tm
114 static int msm6242_read_time(struct device *dev, struct rtc_time *tm)
120 tm->tm_sec = msm6242_read(priv, MSM6242_SECOND10) * 10 +
122 tm->tm_min = msm6242_read(priv, MSM6242_MINUTE10) * 10 +
124 tm->tm_hour = (msm6242_read(priv, MSM6242_HOUR10) &
127 tm->tm_mday = msm6242_read(priv, MSM6242_DAY10) * 10 +
129 tm->tm_wday = msm6242_read(priv, MSM6242_WEEK);
130 tm->tm_mon = msm6242_read(priv, MSM6242_MONTH10) * 10 +
132 tm->tm_year = msm6242_read(priv, MSM6242_YEAR10) * 10 +
134 if (tm->tm_year <= 69)
135 tm->tm_year += 100;
140 if (!pm && tm->tm_hour == 12)
141 tm->tm_hour = 0;
142 else if (pm && tm->tm_hour != 12)
143 tm->tm_hour += 12;
151 static int msm6242_set_time(struct device *dev, struct rtc_time *tm)
157 msm6242_write(priv, tm->tm_sec / 10, MSM6242_SECOND10);
158 msm6242_write(priv, tm->tm_sec % 10, MSM6242_SECOND1);
159 msm6242_write(priv, tm->tm_min / 10, MSM6242_MINUTE10);
160 msm6242_write(priv, tm->tm_min % 10, MSM6242_MINUTE1);
162 msm6242_write(priv, tm->tm_hour / 10, MSM6242_HOUR10);
163 else if (tm->tm_hour >= 12)
164 msm6242_write(priv, MSM6242_HOUR10_PM + (tm->tm_hour - 12) / 10,
167 msm6242_write(priv, tm->tm_hour / 10, MSM6242_HOUR10);
168 msm6242_write(priv, tm->tm_hour % 10, MSM6242_HOUR1);
169 msm6242_write(priv, tm->tm_mday / 10, MSM6242_DAY10);
170 msm6242_write(priv, tm->tm_mday % 10, MSM6242_DAY1);
171 if (tm->tm_wday != -1)
172 msm6242_write(priv, tm->tm_wday, MSM6242_WEEK);
173 msm6242_write(priv, (tm->tm_mon + 1) / 10, MSM6242_MONTH10);
174 msm6242_write(priv, (tm->tm_mon + 1) % 10, MSM6242_MONTH1);
175 if (tm->tm_year >= 100)
176 tm->tm_year -= 100;
177 msm6242_write(priv, tm->tm_year / 10, MSM6242_YEAR10);
178 msm6242_write(priv, tm->tm_year % 10, MSM6242_YEAR1);