Index: kernel/genarch/include/drivers/am335x/timer.h
===================================================================
--- kernel/genarch/include/drivers/am335x/timer.h	(revision c0948aaab67a4b34884ff72cfed5c68b05c9ba0d)
+++ kernel/genarch/include/drivers/am335x/timer.h	(revision f69ac6ca66afa6de17eead63bb2df5748f4658c3)
@@ -85,5 +85,5 @@
 } am335x_timer_t;
 
-extern void am335x_timer_init(am335x_timer_t *timer, am335x_timer_id_t id,
+extern int am335x_timer_init(am335x_timer_t *timer, am335x_timer_id_t id,
     unsigned hz, unsigned srcclk_hz);
 extern void am335x_timer_intr_ack(am335x_timer_t *timer);
Index: kernel/genarch/src/drivers/am335x/timer.c
===================================================================
--- kernel/genarch/src/drivers/am335x/timer.c	(revision c0948aaab67a4b34884ff72cfed5c68b05c9ba0d)
+++ kernel/genarch/src/drivers/am335x/timer.c	(revision f69ac6ca66afa6de17eead63bb2df5748f4658c3)
@@ -52,5 +52,5 @@
 static const timer_regs_mmap_t regs_map[TIMERS_MAX] = {
 	{ .base = AM335x_DMTIMER0_BASE_ADDRESS, .size = AM335x_DMTIMER0_SIZE },
-	{0, 0},
+	{0, 0}, /* DMTIMER1 is not supported by this driver */
 	{ .base = AM335x_DMTIMER2_BASE_ADDRESS, .size = AM335x_DMTIMER2_SIZE },
 	{ .base = AM335x_DMTIMER3_BASE_ADDRESS, .size = AM335x_DMTIMER3_SIZE },
@@ -83,5 +83,5 @@
 }
 
-void
+int
 am335x_timer_init(am335x_timer_t *timer, am335x_timer_id_t id, unsigned hz,
     unsigned srcclk_hz)
@@ -91,7 +91,8 @@
 
 	ASSERT(id < TIMERS_MAX);
+	ASSERT(timer != NULL);
 
 	if (id == DMTIMER1_1MS)
-		return; /* Not supported yet */
+		return ENOTSUP; /* Not supported yet */
 
 	base_addr = regs_map[id].base;
@@ -99,4 +100,6 @@
 
 	timer->regs = (void *) km_map(base_addr, size, PAGE_NOT_CACHEABLE);
+	ASSERT(timer->regs != NULL);
+
 	timer->id = id;
 
@@ -130,4 +133,6 @@
 	write_register_posted(timer, REG_TCRR, count);
 	write_register_posted(timer, REG_TLDR, count);
+
+	return EOK;
 }
 
