|
@@ -125,27 +125,27 @@ static rt_size_t rtc_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t
|
|
|
|
|
|
static rt_err_t rtc_control(rt_device_t dev, int cmd, void *args)
|
|
|
{
|
|
|
- struct tm tm, *tm_ptr;
|
|
|
+ struct tm tm, *tm_ptr;
|
|
|
time_t *time;
|
|
|
- RT_ASSERT(dev != RT_NULL);
|
|
|
+ RT_ASSERT(dev != RT_NULL);
|
|
|
|
|
|
- time = (time_t *)args;
|
|
|
- switch (cmd)
|
|
|
- {
|
|
|
+ time = (time_t *)args;
|
|
|
+ switch (cmd)
|
|
|
+ {
|
|
|
case RT_DEVICE_CTRL_RTC_GET_TIME:
|
|
|
/* read device */
|
|
|
rt_hw_rtc_get(&tm);
|
|
|
- *((rt_time_t *)args) = mktime(&tm);
|
|
|
+ *((rt_time_t *)args) = timegm(&tm);
|
|
|
break;
|
|
|
|
|
|
case RT_DEVICE_CTRL_RTC_SET_TIME:
|
|
|
- tm_ptr = localtime(time);
|
|
|
/* write device */
|
|
|
+ tm_ptr = gmtime(time);
|
|
|
rt_hw_rtc_set(tm_ptr);
|
|
|
break;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- return RT_EOK;
|
|
|
+ return RT_EOK;
|
|
|
}
|
|
|
|
|
|
void rt_hw_rtc_init(void)
|