diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2017-01-25 19:32:15 -0500 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2017-01-26 23:07:49 -0500 |
commit | 58b849c451ac1281c14bfc535ab7f411a0b736e0 (patch) | |
tree | 035026a62581900f72fa0d90bd694a8a92372c00 /firmware/drivers/rtc/rtc_s35380a.c | |
parent | 783c77531c35e62dd754c510c4f2beefe6df4a9d (diff) | |
download | rockbox-58b849c451ac1281c14bfc535ab7f411a0b736e0.tar.gz rockbox-58b849c451ac1281c14bfc535ab7f411a0b736e0.zip |
Move intrinsic RTC implmentation differences to driver files
Some drivers set tm_wday just fine and do not need it coerced to
be correct. Others set tm_yday, so don't overwrite what the driver
sets; just zero it inside if it can't fill the field. Move calls
to set_day_of_week() to the sorts of drivers that presumably
required the hammer (FS#11814) in get_time() where the weekday
isn't locked to the date.
Change-Id: Idd0ded6bfc9d9f48fcc1a6074068164c42fcf24a
Diffstat (limited to 'firmware/drivers/rtc/rtc_s35380a.c')
-rw-r--r-- | firmware/drivers/rtc/rtc_s35380a.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/firmware/drivers/rtc/rtc_s35380a.c b/firmware/drivers/rtc/rtc_s35380a.c index a45924d725..f32c431990 100644 --- a/firmware/drivers/rtc/rtc_s35380a.c +++ b/firmware/drivers/rtc/rtc_s35380a.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include "config.h" | 23 | #include "config.h" |
24 | #include "rtc.h" | 24 | #include "rtc.h" |
25 | #include "i2c-coldfire.h" | 25 | #include "i2c-coldfire.h" |
26 | #include "timefuncs.h" | ||
26 | 27 | ||
27 | /* Driver for the Seiko S35380A real-time clock chip with i2c interface | 28 | /* Driver for the Seiko S35380A real-time clock chip with i2c interface |
28 | 29 | ||
@@ -188,10 +189,12 @@ int rtc_read_datetime(struct tm *tm) | |||
188 | tm->tm_sec = buf[TIME_SECOND]; | 189 | tm->tm_sec = buf[TIME_SECOND]; |
189 | tm->tm_min = buf[TIME_MINUTE]; | 190 | tm->tm_min = buf[TIME_MINUTE]; |
190 | tm->tm_hour = buf[TIME_HOUR]; | 191 | tm->tm_hour = buf[TIME_HOUR]; |
191 | tm->tm_wday = buf[TIME_WEEKDAY]; | ||
192 | tm->tm_mday = buf[TIME_DAY]; | 192 | tm->tm_mday = buf[TIME_DAY]; |
193 | tm->tm_mon = buf[TIME_MONTH] - 1; | 193 | tm->tm_mon = buf[TIME_MONTH] - 1; |
194 | tm->tm_year = buf[TIME_YEAR] + 100; | 194 | tm->tm_year = buf[TIME_YEAR] + 100; |
195 | tm->tm_yday = 0; /* Not implemented for now */ | ||
196 | |||
197 | set_day_of_week(tm); | ||
195 | 198 | ||
196 | return ret; | 199 | return ret; |
197 | } | 200 | } |