Index: uspace/drv/time/rtc.c
===================================================================
--- uspace/drv/time/rtc.c	(revision a31ca11f3fdb5acec686e5b9dd2537e18b5e70f6)
+++ uspace/drv/time/rtc.c	(revision 6b329749b18871f1473cc853c9e89aefa9dc0f93)
@@ -42,4 +42,5 @@
 #include <ddf/log.h>
 #include <ops/clock.h>
+#include <fibril_synch.h>
 
 #define NAME "RTC"
@@ -80,4 +81,6 @@
 	/** DDF function node */
 	ddf_fun_t *fun;
+	/** The fibril mutex for synchronizing the access to the device */
+	fibril_mutex_t mutex;
 } rtc_t;
 
@@ -117,4 +120,16 @@
 rtc_dev_add(ddf_dev_t *dev)
 {
+	rtc_t *rtc;
+
+	ddf_msg(LVL_DEBUG, "rtc_dev_add %s (handle = %d)",
+	    dev->name, (int) dev->handle);
+
+	rtc = ddf_dev_data_alloc(dev, sizeof(rtc_t));
+	if (!rtc)
+		return ENOMEM;
+
+	rtc->dev = dev;
+	fibril_mutex_initialize(&rtc->mutex);
+
 	return EOK;
 }
