Index: uspace/drv/time/cmos-rtc/cmos-rtc.c
===================================================================
--- uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision f30ee57112a3840aa8a33e5b5d2081d15ac92f59)
+++ uspace/drv/time/cmos-rtc/cmos-rtc.c	(revision 3b79ba5172b85498ff291c7603db52e9f934408a)
@@ -80,4 +80,5 @@
 static void rtc_close(ddf_fun_t *fun);
 static bool rtc_update_in_progress(rtc_t *rtc);
+static int  rtc_register_read(ioport8_t *port, int reg);
 
 
@@ -222,4 +223,18 @@
 }
 
+/** Read a register from the CMOS memory
+ *
+ * @param port   The I/O port assigned to the device
+ * @param reg    The index of the register to read
+ *
+ * @return       The value of the register
+ */
+static int
+rtc_register_read(ioport8_t *port, int reg)
+{
+	pio_write_8(port, reg);
+	return pio_read_8(port + 1);
+}
+
 /** Check if an update is in progress
  *
@@ -231,6 +246,5 @@
 rtc_update_in_progress(rtc_t *rtc)
 {
-	pio_write_8(rtc->port, RTC_UPDATE);
-	return pio_read_8(rtc->port + 1) & RTC_MASK_UPDATE;
+	return rtc_register_read(rtc->port, RTC_UPDATE) & RTC_MASK_UPDATE;
 }
 
