Index: head/sys/dev/smartpqi/smartpqi_defines.h
===================================================================
--- head/sys/dev/smartpqi/smartpqi_defines.h
+++ head/sys/dev/smartpqi/smartpqi_defines.h
@@ -856,8 +856,8 @@
 	struct cam_path         *path;
 	struct task		event_task;
 	struct cdev             *cdev;
-	struct callout_handle   wellness_periodic;	/* periodic event handling */
-	struct callout_handle   heartbeat_timeout_id;	/* heart beat event handling */
+	struct callout          wellness_periodic;	/* periodic event handling */
+	struct callout          heartbeat_timeout_id;	/* heart beat event handling */
 	eventhandler_tag        eh;
 } OS_SPECIFIC_T;
 
Index: head/sys/dev/smartpqi/smartpqi_main.c
===================================================================
--- head/sys/dev/smartpqi/smartpqi_main.c
+++ head/sys/dev/smartpqi/smartpqi_main.c
@@ -324,6 +324,8 @@
         mtx_init(&softs->os_specific.cam_lock, "cam_lock", NULL, MTX_DEF);
         softs->os_specific.mtx_init = TRUE;
         mtx_init(&softs->os_specific.map_lock, "map_lock", NULL, MTX_DEF);
+        callout_init(&softs->os_specific.wellness_periodic, 1);
+        callout_init(&softs->os_specific.heartbeat_timeout_id, 1);
 
         /*
          * Create DMA tag for mapping buffers into controller-addressable space.
@@ -355,8 +357,8 @@
 	}
 
 	os_start_heartbeat_timer((void *)softs); /* Start the heart-beat timer */
-	softs->os_specific.wellness_periodic = timeout( os_wellness_periodic, 
-							softs, 120*hz);
+	callout_reset(&softs->os_specific.wellness_periodic, 120*hz,
+		      os_wellness_periodic, softs);
 	/* Register our shutdown handler. */
 	softs->os_specific.eh = EVENTHANDLER_REGISTER(shutdown_final, 
 				smartpqi_shutdown, softs, SHUTDOWN_PRI_DEFAULT);
@@ -410,11 +412,9 @@
 	EVENTHANDLER_DEREGISTER(shutdown_final, softs->os_specific.eh);
 
 	/* kill the periodic event */
-	untimeout(os_wellness_periodic, softs, 
-			softs->os_specific.wellness_periodic);
+	callout_drain(&softs->os_specific.wellness_periodic);
 	/* Kill the heart beat event */
-	untimeout(os_start_heartbeat_timer, softs, 
-			softs->os_specific.heartbeat_timeout_id);
+	callout_drain(&softs->os_specific.heartbeat_timeout_id);
 
 	smartpqi_shutdown(softs);
 	destroy_char_dev(softs);
Index: head/sys/dev/smartpqi/smartpqi_misc.c
===================================================================
--- head/sys/dev/smartpqi/smartpqi_misc.c
+++ head/sys/dev/smartpqi/smartpqi_misc.c
@@ -69,8 +69,8 @@
 	}
 
 	/* reschedule ourselves */
-	softs->os_specific.wellness_periodic = timeout(os_wellness_periodic, 
-					softs, OS_HOST_WELLNESS_TIMEOUT * hz);
+	callout_schedule(&softs->os_specific.wellness_periodic,
+	    OS_HOST_WELLNESS_TIMEOUT * hz);
 }
 
 /*
@@ -81,8 +81,7 @@
 	DBG_FUNC("IN\n");
 
 	/* Kill the heart beat event */
-	untimeout(os_start_heartbeat_timer, softs, 
-			softs->os_specific.heartbeat_timeout_id);
+	callout_stop(&softs->os_specific.heartbeat_timeout_id);
 
 	DBG_FUNC("OUT\n");
 }
@@ -97,9 +96,9 @@
 
 	pqisrc_heartbeat_timer_handler(softs);
 	if (!pqisrc_ctrl_offline(softs)) {
-		softs->os_specific.heartbeat_timeout_id =
-		timeout(os_start_heartbeat_timer, softs,
-		OS_FW_HEARTBEAT_TIMER_INTERVAL * hz);
+		callout_reset(&softs->os_specific.heartbeat_timeout_id,
+			      OS_FW_HEARTBEAT_TIMER_INTERVAL * hz,
+			      os_start_heartbeat_timer, softs);
 	}
 
        DBG_FUNC("OUT\n");