Index: uspace/drv/time/cmos-rtc/cmos-rtc.c
===================================================================
--- uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision 05882233d8ca97c6879ac5c42456c344c8569d89)
+++ uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision 8867cf60014e9288ad97cf5fd5d82bcd6e605782)
@@ -75,5 +75,5 @@
 	int clients_connected;
 	/** time at which the system booted */
-	struct timeval boot_time;
+	struct timespec boot_time;
 } rtc_t;
 
@@ -204,5 +204,5 @@
 
 	rtc->boot_time.tv_sec = 0;
-	rtc->boot_time.tv_usec = 0;
+	rtc->boot_time.tv_nsec = 0;
 	rtc->clients_connected = 0;
 
@@ -331,11 +331,11 @@
 		 */
 
-		struct timeval curtime;
+		struct timespec curtime;
 
 		getuptime(&curtime);
-		tv_add(&curtime, &rtc->boot_time);
+		ts_add(&curtime, &rtc->boot_time);
 		fibril_mutex_unlock(&rtc->mutex);
 
-		return time_tv2tm(&curtime, t);
+		return time_ts2tm(&curtime, t);
 	}
 
@@ -346,6 +346,6 @@
 	}
 
-	/* Microseconds are below RTC's resolution, assume 0. */
-	t->tm_usec = 0;
+	/* Nanoseconds are below RTC's resolution, assume 0. */
+	t->tm_nsec = 0;
 
 	/* now read the registers */
@@ -419,10 +419,10 @@
 		result = EINVAL;
 	else {
-		struct timeval uptime;
+		struct timespec uptime;
 
 		getuptime(&uptime);
 		rtc->boot_time.tv_sec = r;
-		rtc->boot_time.tv_usec = t->tm_usec;	/* normalized */
-		tv_sub(&rtc->boot_time, &uptime);
+		rtc->boot_time.tv_nsec = t->tm_nsec;	/* normalized */
+		ts_sub(&rtc->boot_time, &uptime);
 		result = EOK;
 	}
@@ -445,6 +445,6 @@
 	bool bcd_mode;
 	time_t norm_time;
-	struct timeval uptime;
-	struct timeval ntv;
+	struct timespec uptime;
+	struct timespec ntv;
 	int  reg_b;
 	int  reg_a;
@@ -457,8 +457,8 @@
 
 	ntv.tv_sec = norm_time;
-	ntv.tv_usec = t->tm_usec;
+	ntv.tv_nsec = t->tm_nsec;
 	getuptime(&uptime);
 
-	if (tv_gteq(&uptime, &ntv)) {
+	if (ts_gteq(&uptime, &ntv)) {
 		/* This is not acceptable */
 		return EINVAL;
@@ -474,5 +474,5 @@
 	/* boot_time must be recomputed */
 	rtc->boot_time.tv_sec = 0;
-	rtc->boot_time.tv_usec = 0;
+	rtc->boot_time.tv_nsec = 0;
 
 	/* Detect the RTC epoch */
