--- old/usr/src/uts/common/avs/ns/nsctl/nsc_gen.c	2015-08-19 07:24:52.725872512 -0400
+++ new/usr/src/uts/common/avs/ns/nsctl/nsc_gen.c	2015-08-19 07:24:52.731493980 -0400
@@ -63,7 +63,7 @@
 void
 _nsc_init_gen()
 {
-	HZ = drv_usectohz(1000000);
+	HZ = drv_sectohz(1);
 }
 
 
--- old/usr/src/uts/common/avs/ns/sv/sv.c	2015-08-19 07:24:52.901665482 -0400
+++ new/usr/src/uts/common/avs/ns/sv/sv.c	2015-08-19 07:24:52.907309340 -0400
@@ -1091,7 +1091,7 @@
 			rc = EBUSY;
 		} else {
 			sv_mod_status = SV_ALLOW_UNLOAD;
-			delay(SV_WAIT_UNLOAD * drv_usectohz(1000000));
+			delay(drv_sectohz(SV_WAIT_UNLOAD));
 		}
 	}
 
--- old/usr/src/uts/common/contract/device.c	2015-08-19 07:24:53.116194097 -0400
+++ new/usr/src/uts/common/contract/device.c	2015-08-19 07:24:53.121674854 -0400
@@ -2208,7 +2208,7 @@
 
 	ASSERT(MUTEX_HELD(&(DEVI(dip)->devi_ct_lock)));
 
-	abstime = ddi_get_lbolt() + drv_usectohz(secs*1000000);
+	abstime = ddi_get_lbolt() + drv_sectohz(secs);
 	while (DEVI(dip)->devi_ct_count) {
 		if (cv_timedwait(&(DEVI(dip)->devi_ct_cv),
 		    &(DEVI(dip)->devi_ct_lock), abstime) == -1) {
--- old/usr/src/uts/common/crypto/api/kcf_cbufcall.c	2015-08-19 07:24:53.319563660 -0400
+++ new/usr/src/uts/common/crypto/api/kcf_cbufcall.c	2015-08-19 07:24:53.324769823 -0400
@@ -289,7 +289,7 @@
 			 */
 			CALLB_CPR_SAFE_BEGIN(&cprinfo);
 			mutex_exit(&cbuf_list_lock);
-			delay(30 * drv_usectohz(1000000));
+			delay(drv_sectohz(30));
 			mutex_enter(&cbuf_list_lock);
 			CALLB_CPR_SAFE_END(&cprinfo, &cbuf_list_lock);
 		}
--- old/usr/src/uts/common/crypto/core/kcf_cryptoadm.c	2015-08-19 07:24:53.477180150 -0400
+++ new/usr/src/uts/common/crypto/core/kcf_cryptoadm.c	2015-08-19 07:24:53.483126670 -0400
@@ -718,7 +718,7 @@
 		/* Wait till the existing requests complete. */
 		while (kcf_get_refcnt(provider, B_TRUE) > 0) {
 			/* wait 1 second and try again. */
-			delay(1 * drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 		}
 	}
 
--- old/usr/src/uts/common/crypto/spi/kcf_spi.c	2015-08-19 07:24:53.652866205 -0400
+++ new/usr/src/uts/common/crypto/spi/kcf_spi.c	2015-08-19 07:24:53.658792206 -0400
@@ -514,7 +514,7 @@
 		 */
 		while (kcf_get_refcnt(desc, B_TRUE) > 1) {
 			/* wait 1 second and try again. */
-			delay(1 * drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 		}
 	} else {
 		int i;
--- old/usr/src/uts/common/fs/dev/sdev_comm.c	2015-08-19 07:24:53.829586625 -0400
+++ new/usr/src/uts/common/fs/dev/sdev_comm.c	2015-08-19 07:24:53.835422338 -0400
@@ -110,7 +110,7 @@
 {
 	clock_t	expire;
 	clock_t rv;
-	clock_t wakeup = drv_usectohz(2 * 1000000);
+	clock_t wakeup = drv_sectohz(2);
 	int rval = ENOENT;
 	int is_lookup = (cmd == SDEV_LOOKUP);
 
@@ -119,7 +119,7 @@
 
 	/* tick value at which wait expires */
 	expire = ddi_get_lbolt() +
-	    drv_usectohz(dev_node_wait_timeout * 1000000);
+	    drv_sectohz(dev_node_wait_timeout);
 
 	sdcmn_err6(("wait4lookup %s %s, %ld %d\n",
 	    is_lookup ? "lookup" : "readdir",
@@ -234,7 +234,7 @@
 	ASSERT(sdev_upcall_door == NULL);
 
 	/* timeout expires this many ticks in the future */
-	expire = ddi_get_lbolt() + drv_usectohz(dev_devfsadm_startup * 1000000);
+	expire = ddi_get_lbolt() + drv_sectohz(dev_devfsadm_startup);
 
 	if (sdev_door_upcall_filename == NULL) {
 		if ((error = sdev_start_devfsadmd()) != 0) {
--- old/usr/src/uts/common/fs/dev/sdev_ncache.c	2015-08-19 07:24:53.990262605 -0400
+++ new/usr/src/uts/common/fs/dev/sdev_ncache.c	2015-08-19 07:24:53.996096573 -0400
@@ -580,7 +580,7 @@
 	if (nsecs == 0) {
 		sdev_state_boot_complete();
 	} else {
-		nticks = drv_usectohz(1000000 * nsecs);
+		nticks = drv_sectohz(nsecs);
 		sdcmn_err5(("timeout initiated %ld\n", nticks));
 		(void) timeout(sdev_state_timeout, NULL, nticks);
 		sdev_nc_flush_boot_update();
--- old/usr/src/uts/common/fs/nfs/nfs4_stub_vnops.c	2015-08-19 07:24:54.181623292 -0400
+++ new/usr/src/uts/common/fs/nfs/nfs4_stub_vnops.c	2015-08-19 07:24:54.187571379 -0400
@@ -1041,7 +1041,7 @@
 
 		/* if we've had no response at all, wait a second */
 		if (esi_first == NULL)
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 
 	} while (esi_first == NULL);
 	ASSERT(nargs_head != NULL);
--- old/usr/src/uts/common/io/aac/aac.c	2015-08-19 07:24:54.425666052 -0400
+++ new/usr/src/uts/common/io/aac/aac.c	2015-08-19 07:24:54.432089291 -0400
@@ -925,7 +925,7 @@
 
 	/* Create a thread for command timeout */
 	softs->timeout_id = timeout(aac_timer, (void *)softs,
-	    (aac_tick * drv_usectohz(1000000)));
+	    drv_sectohz(aac_tick));
 
 	/* Common attach is OK, so we are attached! */
 	ddi_report_dev(dip);
@@ -4380,7 +4380,7 @@
 			cv_broadcast(&softs->drain_cv);
 		else
 			softs->drain_timeid = timeout(aac_check_drain, softs,
-			    AAC_QUIESCE_TICK * drv_usectohz(1000000));
+			    drv_sectohz(AAC_QUIESCE_TICK));
 	}
 	mutex_exit(&softs->io_lock);
 }
@@ -4395,7 +4395,7 @@
 	if (softs->ndrains == 0) {
 		ASSERT(softs->drain_timeid == 0);
 		softs->drain_timeid = timeout(aac_check_drain, softs,
-		    AAC_QUIESCE_TICK * drv_usectohz(1000000));
+		    drv_sectohz(AAC_QUIESCE_TICK));
 	}
 	softs->ndrains++;
 }
@@ -6685,7 +6685,7 @@
 			if (acp->timeout <= softs_timebase) {
 				aac_cmd_timeout(softs, acp);
 				time_out = 1;
-				time_adjust = aac_tick * drv_usectohz(1000000);
+				time_adjust = drv_sectohz(aac_tick);
 				break; /* timeout happened */
 			} else {
 				break; /* no timeout */
@@ -6757,7 +6757,7 @@
 	/* If timer is being stopped, exit */
 	if (softs->timeout_id) {
 		softs->timeout_id = timeout(aac_timer, (void *)softs,
-		    (aac_tick * drv_usectohz(1000000)));
+		    drv_sectohz(aac_tick));
 	} else {
 		mutex_exit(&softs->time_mutex);
 		return;
--- old/usr/src/uts/common/io/aggr/aggr_lacp.c	2015-08-19 07:24:54.796360060 -0400
+++ new/usr/src/uts/common/io/aggr/aggr_lacp.c	2015-08-19 07:24:54.801798415 -0400
@@ -446,7 +446,7 @@
 	mutex_enter(&pl->lacp_timer_lock);
 	if (pl->periodic_timer.id == 0) {
 		pl->periodic_timer.id = timeout(periodic_timer_pop, portp,
-		    drv_usectohz(1000000 * portp->lp_lacp.periodic_timer.val));
+		    drv_sectohz(portp->lp_lacp.periodic_timer.val));
 	}
 	mutex_exit(&pl->lacp_timer_lock);
 }
@@ -1517,8 +1517,7 @@
 	if (pl->wait_while_timer.id == 0) {
 		pl->wait_while_timer.id =
 		    timeout(wait_while_timer_pop, portp,
-		    drv_usectohz(1000000 *
-		    portp->lp_lacp.wait_while_timer.val));
+		    drv_sectohz(portp->lp_lacp.wait_while_timer.val));
 	}
 	mutex_exit(&pl->lacp_timer_lock);
 }
--- old/usr/src/uts/common/io/asy.c	2015-08-19 07:24:55.005277611 -0400
+++ new/usr/src/uts/common/io/asy.c	2015-08-19 07:24:55.010916038 -0400
@@ -3112,7 +3112,7 @@
 			mutex_exit(&asy->asy_excl_hi);
 			async->async_flags |= ASYNC_BREAK;
 			(void) timeout(async_restart, (caddr_t)async,
-			    drv_usectohz(1000000)/4);
+			    drv_sectohz(1) / 4);
 			freemsg(bp);
 			return;	/* wait for this to finish */
 
@@ -3579,7 +3579,7 @@
 				    (val | SETBREAK));
 				mutex_exit(&asy->asy_excl_hi);
 				(void) timeout(async_restart, (caddr_t)async,
-				    drv_usectohz(1000000)/4);
+				    drv_sectohz(1) / 4);
 			} else {
 				DEBUGCONT1(ASY_DEBUG_OUT,
 				    "async%d_ioctl: wait for flush.\n",
--- old/usr/src/uts/common/io/bge/bge_impl.h	2015-08-19 07:24:55.282681116 -0400
+++ new/usr/src/uts/common/io/bge/bge_impl.h	2015-08-19 07:24:55.288166772 -0400
@@ -185,7 +185,7 @@
 
 #define	BGE_HALFTICK		268435456LL		/* 2**28 ns!	*/
 #define	BGE_CYCLIC_PERIOD	(4*BGE_HALFTICK)	/*    ~1.0s	*/
-#define	BGE_CYCLIC_TIMEOUT	(drv_usectohz(1000000))	/*    ~1.0s	*/
+#define	BGE_CYCLIC_TIMEOUT	drv_sectohz(1)		/*    ~1.0s	*/
 #define	BGE_SERDES_STABLE_TIME	(3*BGE_HALFTICK)	/*    ~0.8s	*/
 #define	BGE_PHY_STABLE_TIME	(11*BGE_HALFTICK)	/*    ~3.0s	*/
 #define	BGE_LINK_SETTLE_TIME	(111*BGE_HALFTICK)	/*   ~30.0s	*/
--- old/usr/src/uts/common/io/blkdev/blkdev.c	2015-08-19 07:24:55.464678195 -0400
+++ new/usr/src/uts/common/io/blkdev/blkdev.c	2015-08-19 07:24:55.470417981 -0400
@@ -1448,7 +1448,7 @@
 			break;
 		}
 
-		when = drv_usectohz(1000000);
+		when = drv_sectohz(1);
 		if (cv_reltimedwait_sig(&bd->d_statecv, &bd->d_statemutex,
 		    when, TR_CLOCK_TICK) == 0) {
 			mutex_exit(&bd->d_statemutex);
--- old/usr/src/uts/common/io/bnxe/bnxe_rx.c	2015-08-19 07:24:55.651045944 -0400
+++ new/usr/src/uts/common/io/bnxe/bnxe_rx.c	2015-08-19 07:24:55.656550578 -0400
@@ -218,7 +218,7 @@
             }
 
             /* twiddle our thumbs for one second */
-            delay(drv_usectohz(1000000));
+            delay(drv_sectohz(1));
         }
 
         if (cnt)
@@ -244,7 +244,7 @@
                 }
 
                 /* twiddle our thumbs for one second */
-                delay(drv_usectohz(1000000));
+                delay(drv_sectohz(1));
             }
 
             tot += cnt;
--- old/usr/src/uts/common/io/bridge.c	2015-08-19 07:24:55.818476324 -0400
+++ new/usr/src/uts/common/io/bridge.c	2015-08-19 07:24:55.824170330 -0400
@@ -3329,8 +3329,8 @@
 static void
 bridge_inst_init(void)
 {
-	bridge_scan_interval = 5 * drv_usectohz(1000000);
-	bridge_fwd_age = 25 * drv_usectohz(1000000);
+	bridge_scan_interval = drv_sectohz(5);
+	bridge_fwd_age = drv_sectohz(25);
 
 	rw_init(&bmac_rwlock, NULL, RW_DRIVER, NULL);
 	list_create(&bmac_list, sizeof (bridge_mac_t),
--- old/usr/src/uts/common/io/bscv.c	2015-08-19 07:24:56.060315953 -0400
+++ new/usr/src/uts/common/io/bscv.c	2015-08-19 07:24:56.066200546 -0400
@@ -3201,7 +3201,7 @@
 		 * during panic we should use drv_usecwait() rather
 		 * than delay in those circumstances.
 		 */
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&ssp->task_mu);
 	}
 
@@ -3247,7 +3247,7 @@
 		cv_signal(&ssp->task_cv);
 		/* Release task daemon lock. */
 		mutex_exit(&ssp->task_mu);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&ssp->task_mu);
 	}
 	if ((ssp->task_flags & TASK_SLEEPING_FLG) ||
--- old/usr/src/uts/common/io/comstar/port/fct/discovery.c	2015-08-19 07:24:56.369862412 -0400
+++ new/usr/src/uts/common/io/comstar/port/fct/discovery.c	2015-08-19 07:24:56.375492839 -0400
@@ -102,9 +102,9 @@
 	int64_t			tmp_delay;
 
 	iport->iport_cmdcheck_clock = ddi_get_lbolt() +
-	    drv_usectohz(FCT_CMDLIST_CHECK_SECONDS * 1000000);
+	    drv_sectohz(FCT_CMDLIST_CHECK_SECONDS);
 	short_delay = drv_usectohz(10000);
-	long_delay = drv_usectohz(1000000);
+	long_delay = drv_sectohz(1);
 
 	stmf_trace(iport->iport_alias, "iport is %p", iport);
 	/* Discovery loop */
@@ -156,7 +156,7 @@
 		if (iport->iport_cmdcheck_clock <= ddi_get_lbolt()) {
 			suggested_action |= fct_check_cmdlist(iport);
 			iport->iport_cmdcheck_clock = ddi_get_lbolt() +
-			    drv_usectohz(FCT_CMDLIST_CHECK_SECONDS * 1000000);
+			    drv_sectohz(FCT_CMDLIST_CHECK_SECONDS);
 			iport->iport_max_active_ncmds = 0;
 		}
 
@@ -596,7 +596,7 @@
 			iport->iport_li_state++;
 			iport->iport_login_retry = 0;
 			iport->iport_li_cmd_timeout = ddi_get_lbolt() +
-			    drv_usectohz(25 * 1000000);
+			    drv_sectohz(25);
 		}
 		goto check_state_again;
 
--- old/usr/src/uts/common/io/comstar/port/fct/fct.c	2015-08-19 07:24:56.597258852 -0400
+++ new/usr/src/uts/common/io/comstar/port/fct/fct.c	2015-08-19 07:24:56.602931910 -0400
@@ -3370,7 +3370,7 @@
 				    port->port_fca_abort_timeout*1000);
 			else
 				/* 10 seconds by default */
-				timeout_ticks = drv_usectohz(10 * 1000000);
+				timeout_ticks = drv_sectohz(10);
 			if ((ddi_get_lbolt() >
 			    (icmd->icmd_start_time+timeout_ticks)) &&
 			    iport->iport_state == FCT_STATE_ONLINE) {
--- old/usr/src/uts/common/io/comstar/port/iscsit/iscsit.c	2015-08-19 07:24:56.836572862 -0400
+++ new/usr/src/uts/common/io/comstar/port/iscsit/iscsit.c	2015-08-19 07:24:56.842131758 -0400
@@ -3346,7 +3346,7 @@
 		}
 		(void) cv_reltimedwait(&iscsit_rxpdu_queue_monitor_cv,
 		    &iscsit_rxpdu_queue_monitor_mutex,
-		    ISCSIT_RXPDU_QUEUE_MONITOR_INTERVAL * drv_usectohz(1000000),
+		    drv_sectohz(ISCSIT_RXPDU_QUEUE_MONITOR_INTERVAL),
 		    TR_CLOCK_TICK);
 	}
 	mutex_exit(&iscsit_rxpdu_queue_monitor_mutex);
--- old/usr/src/uts/common/io/comstar/port/iscsit/iscsit_isns.c	2015-08-19 07:24:57.071016961 -0400
+++ new/usr/src/uts/common/io/comstar/port/iscsit/iscsit_isns.c	2015-08-19 07:24:57.076560271 -0400
@@ -515,7 +515,7 @@
 	mutex_init(&isns_monitor_mutex, NULL, MUTEX_DEFAULT, NULL);
 	mutex_init(&esi.esi_mutex, NULL, MUTEX_DEFAULT, NULL);
 	isns_monitor_thr_id = NULL;
-	monitor_idle_interval = ISNS_IDLE_TIME * drv_usectohz(1000000);
+	monitor_idle_interval = drv_sectohz(ISNS_IDLE_TIME);
 	cv_init(&isns_idle_cv, NULL, CV_DEFAULT, NULL);
 	cv_init(&esi.esi_cv, NULL, CV_DEFAULT, NULL);
 	xid = 0;
@@ -1078,7 +1078,7 @@
 	 * messages we send to the iSNS server.
 	 */
 	mutex_exit(&isns_monitor_mutex);
-	delay(drv_usectohz(isns_initial_delay * 1000000));
+	delay(drv_sectohz(isns_initial_delay));
 	mutex_enter(&isns_monitor_mutex);
 
 	/* Force an initialization of isns_all_portals */
@@ -2874,7 +2874,7 @@
 			goto rcv_error;
 		}
 		rcv_timer = timeout(isnst_so_timeout, so,
-		    drv_usectohz(ISNS_RCV_TIMER_SECONDS * 1000000));
+		    drv_sectohz(ISNS_RCV_TIMER_SECONDS));
 		if (idm_sorecv(so, payload, payload_len) != 0) {
 			(void) untimeout(rcv_timer);
 			goto rcv_error;
@@ -3085,7 +3085,7 @@
 			ISNST_LOG(CE_WARN,
 			    "isnst_esi_thread: Unable to create socket");
 			mutex_exit(&esi.esi_mutex);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&esi.esi_mutex);
 			continue;
 		}
@@ -3106,7 +3106,7 @@
 			ISNST_LOG(CE_WARN, "Unable to bind socket for ESI");
 			idm_sodestroy(esi.esi_so);
 			mutex_exit(&esi.esi_mutex);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&esi.esi_mutex);
 			continue;
 		}
@@ -3124,7 +3124,7 @@
 			    "failure 0x%x", rc);
 			idm_sodestroy(esi.esi_so);
 			mutex_exit(&esi.esi_mutex);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&esi.esi_mutex);
 			continue;
 		}
--- old/usr/src/uts/common/io/comstar/port/iscsit/iscsit_tgt.c	2015-08-19 07:24:57.317240473 -0400
+++ new/usr/src/uts/common/io/comstar/port/iscsit/iscsit_tgt.c	2015-08-19 07:24:57.322564986 -0400
@@ -653,7 +653,7 @@
 	    iscsit_tgt_dereg_task, tgt, DDI_NOSLEEP) == NULL) {
 		/* Dispatch failed, try again later */
 		(void) timeout(iscsit_tgt_dereg_retry, tgt,
-		    drv_usectohz(TGT_DEREG_RETRY_SECONDS * 1000000));
+		    drv_sectohz(TGT_DEREG_RETRY_SECONDS));
 	}
 }
 
--- old/usr/src/uts/common/io/comstar/port/pppt/pppt_tgt.c	2015-08-19 07:24:57.514159600 -0400
+++ new/usr/src/uts/common/io/comstar/port/pppt/pppt_tgt.c	2015-08-19 07:24:57.519510653 -0400
@@ -805,7 +805,7 @@
 	    pppt_tgt_dereg_task, tgt, KM_NOSLEEP) == NULL) {
 		/* Dispatch failed, try again later */
 		(void) timeout(pppt_tgt_dereg_retry, tgt,
-		    drv_usectohz(TGT_DEREG_RETRY_SECONDS * 1000000));
+		    drv_sectohz(TGT_DEREG_RETRY_SECONDS));
 	}
 }
 
--- old/usr/src/uts/common/io/comstar/port/qlt/qlt.c	2015-08-19 07:24:57.683992818 -0400
+++ new/usr/src/uts/common/io/comstar/port/qlt/qlt.c	2015-08-19 07:24:57.690129494 -0400
@@ -5045,7 +5045,7 @@
 		for (retries = 0; (qlt->mbox_io_state != MBOX_STATE_READY) &&
 		    (qlt->mbox_io_state != MBOX_STATE_UNKNOWN); retries++) {
 			(void) cv_timedwait(&qlt->mbox_cv, &qlt->mbox_lock,
-			    ddi_get_lbolt() + drv_usectohz(1000000));
+			    ddi_get_lbolt() + drv_sectohz(1));
 			if (retries > 5) {
 				mutex_exit(&qlt->mbox_lock);
 				EL(qlt, "can't drain out mailbox commands\n");
--- old/usr/src/uts/common/io/comstar/port/srpt/srpt_stp.c	2015-08-19 07:24:57.994213700 -0400
+++ new/usr/src/uts/common/io/comstar/port/srpt/srpt_stp.c	2015-08-19 07:24:58.000055981 -0400
@@ -385,7 +385,7 @@
 		 * execution so it is ok to take a while.
 		 */
 		SRPT_DPRINTF_L3("stp_alloc_port, delaying");
-		delay(2 * drv_usectohz(1000000));
+		delay(drv_sectohz(2));
 		goto retry_registration;
 	}
 	SRPT_DPRINTF_L1("stp_alloc_port, STMF register local port err(0x%llx)",
@@ -496,7 +496,7 @@
 	for (;;) {
 		status = stmf_deregister_local_port(tgt->tp_lport);
 		if (status == STMF_BUSY) {
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 		} else {
 			break;
 		}
--- old/usr/src/uts/common/io/comstar/stmf/stmf.c	2015-08-19 07:24:58.187890053 -0400
+++ new/usr/src/uts/common/io/comstar/stmf/stmf.c	2015-08-19 07:24:58.194271713 -0400
@@ -4266,7 +4266,7 @@
 stmf_do_ilu_timeouts(stmf_i_lu_t *ilu)
 {
 	clock_t l = ddi_get_lbolt();
-	clock_t ps = drv_usectohz(1000000);
+	clock_t ps = drv_sectohz(1);
 	stmf_i_scsi_task_t *itask;
 	scsi_task_t *task;
 	uint32_t to;
--- old/usr/src/uts/common/io/comstar/stmf/stmf_impl.h	2015-08-19 07:24:58.534692246 -0400
+++ new/usr/src/uts/common/io/comstar/stmf/stmf_impl.h	2015-08-19 07:24:58.540029636 -0400
@@ -154,7 +154,7 @@
 	/* XXX Need something to track all the remote ports also */
 } stmf_i_local_port_t;
 
-#define	STMF_AVG_ONLINE_INTERVAL	(30 * drv_usectohz(1000000))
+#define	STMF_AVG_ONLINE_INTERVAL	drv_sectohz(30)
 
 #define	MAX_IRPORT			0x10000
 
--- old/usr/src/uts/common/io/cpqary3/cpqary3_talk2ctlr.c	2015-08-19 07:24:58.692333725 -0400
+++ new/usr/src/uts/common/io/cpqary3/cpqary3_talk2ctlr.c	2015-08-19 07:24:58.697737586 -0400
@@ -926,7 +926,7 @@
 			break;
 		} else {
 			DTRACE_PROBE(ctlr_init_check_notready);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 		}
 	}
 
--- old/usr/src/uts/common/io/e1000g/e1000g_main.c	2015-08-19 07:24:58.863725249 -0400
+++ new/usr/src/uts/common/io/e1000g/e1000g_main.c	2015-08-19 07:24:58.869355999 -0400
@@ -4327,7 +4327,7 @@
 
 	if (tx_ring->resched_needed &&
 	    ((ddi_get_lbolt() - tx_ring->resched_timestamp) >
-	    drv_usectohz(1000000)) &&
+	    drv_sectohz(1)) &&
 	    (Adapter->e1000g_state & E1000G_STARTED) &&
 	    (tx_ring->tbd_avail >= DEFAULT_TX_NO_RESOURCE)) {
 		tx_ring->resched_needed = B_FALSE;
@@ -4640,7 +4640,7 @@
 {
 	Adapter->watchdog_tid =
 	    timeout(e1000g_local_timer,
-	    (void *)Adapter, 1 * drv_usectohz(1000000));
+	    (void *)Adapter, drv_sectohz(1));
 }
 #pragma inline(arm_watchdog_timer)
 
--- old/usr/src/uts/common/io/ecpp.c	2015-08-19 07:24:59.189987953 -0400
+++ new/usr/src/uts/common/io/ecpp.c	2015-08-19 07:24:59.195912265 -0400
@@ -775,7 +775,7 @@
 		 */
 		if ((pp->e_busy == ECPP_BUSY) || (pp->e_busy == ECPP_FLUSH)) {
 			(void) cv_reltimedwait(&pp->pport_cv, &pp->umutex,
-			    SUSPEND_TOUT * drv_usectohz(1000000),
+			    drv_sectohz(SUSPEND_TOUT),
 			    TR_CLOCK_TICK);
 			if ((pp->e_busy == ECPP_BUSY) ||
 			    (pp->e_busy == ECPP_FLUSH)) {
@@ -2804,7 +2804,7 @@
 
 	/* schedule transfer timeout */
 	pp->timeout_id = timeout(ecpp_xfer_timeout, (caddr_t)pp,
-	    pp->xfer_parms.write_timeout * drv_usectohz(1000000));
+	    drv_sectohz(pp->xfer_parms.write_timeout));
 }
 
 /*
--- old/usr/src/uts/common/io/fdc.c	2015-08-19 07:24:59.520190038 -0400
+++ new/usr/src/uts/common/io/fdc.c	2015-08-19 07:24:59.525719706 -0400
@@ -1948,7 +1948,7 @@
 			break;
 		case FMS_KILLST:
 			fcp->c_motort[unit] = timeout(fdmotort, (void *)fjp,
-			    drv_usectohz(1000000));
+			    drv_sectohz(1));
 			fcp->c_mtrstate[unit] = FMS_IDLE;
 			break;
 		case FMS_IDLE:
--- old/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c	2015-08-19 07:24:59.751495742 -0400
+++ new/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_clock.c	2015-08-19 07:24:59.756902348 -0400
@@ -67,7 +67,7 @@
 	/* Set thread timeout */
 	if (cfg[CFG_TIMEOUT_ENABLE].current) {
 		(void) drv_getparm(LBOLT, &time);
-		time += (timeout * drv_usectohz(1000000));
+		time += drv_sectohz(timeout);
 	} else {
 		time = -1;
 	}
@@ -131,7 +131,7 @@
 	if (!(hba->timer_flags & EMLXS_TIMER_KILL)) {
 		hba->timer_id =
 		    timeout(emlxs_timer, (void *)hba,
-		    (EMLXS_TIMER_PERIOD * drv_usectohz(1000000)));
+		    drv_sectohz(EMLXS_TIMER_PERIOD));
 	} else {
 		hba->timer_id = 0;
 		hba->timer_flags |= EMLXS_TIMER_ENDED;
@@ -240,7 +240,7 @@
 	if (!hba->timer_id) {
 		hba->timer_flags = 0;
 		hba->timer_id =
-		    timeout(emlxs_timer, (void *)hba, drv_usectohz(1000000));
+		    timeout(emlxs_timer, (void *)hba, drv_sectohz(1));
 	}
 	mutex_exit(&EMLXS_TIMER_LOCK);
 
--- old/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c	2015-08-19 07:24:59.937004254 -0400
+++ new/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_dfc.c	2015-08-19 07:24:59.943025973 -0400
@@ -4368,7 +4368,7 @@
 		}
 
 		mutex_exit(&EMLXS_PORT_LOCK);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&EMLXS_PORT_LOCK);
 	}
 
@@ -4463,7 +4463,7 @@
 			}
 
 			mutex_exit(&EMLXS_PORT_LOCK);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&EMLXS_PORT_LOCK);
 		}
 
@@ -4546,7 +4546,7 @@
 			}
 
 			mutex_exit(&EMLXS_PORT_LOCK);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&EMLXS_PORT_LOCK);
 		}
 
@@ -8324,7 +8324,7 @@
 			rval = DFC_TIMEOUT;
 	}
 
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	i = 0;
 	while ((hba->state < FC_LINK_UP) && (hba->state != FC_ERROR)) {
 		delay(drv_usectohz(100000));
--- old/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c	2015-08-19 07:25:00.359348765 -0400
+++ new/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fcp.c	2015-08-19 07:25:00.364971083 -0400
@@ -1983,7 +1983,7 @@
 	}
 
 	/* Pause here for the IO to settle */
-	delay(drv_usectohz(1000000));	/* 1 sec */
+	delay(drv_sectohz(1));
 
 	/* Unregister all nodes */
 	emlxs_ffcleanup(hba);
--- old/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c	2015-08-19 07:25:00.620053718 -0400
+++ new/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c	2015-08-19 07:25:00.626117256 -0400
@@ -2649,7 +2649,7 @@
 		/* Driver's timer will not function during panics. */
 		/* Therefore, timer checks must be performed manually. */
 		(void) drv_getparm(LBOLT, &time);
-		timeout = time + drv_usectohz(1000000);
+		timeout = time + drv_sectohz(1);
 		while (!(sbp->pkt_flags & PACKET_COMPLETED)) {
 			EMLXS_SLI_POLL_INTR(hba);
 			(void) drv_getparm(LBOLT, &time);
@@ -2657,7 +2657,7 @@
 			/* Trigger timer checks periodically */
 			if (time >= timeout) {
 				emlxs_timer_checks(hba);
-				timeout = time + drv_usectohz(1000000);
+				timeout = time + drv_sectohz(1);
 			}
 		}
 	} else {
@@ -3764,7 +3764,7 @@
 
 			/* Keep polling the chip until our IO is completed */
 			(void) drv_getparm(LBOLT, &time);
-			timer = time + drv_usectohz(1000000);
+			timer = time + drv_sectohz(1);
 			while ((time < pkt_timeout) &&
 			    !(sbp->pkt_flags & PACKET_COMPLETED)) {
 				EMLXS_SLI_POLL_INTR(hba);
@@ -3773,7 +3773,7 @@
 				/* Trigger timer checks periodically */
 				if (time >= timer) {
 					emlxs_timer_checks(hba);
-					timer = time + drv_usectohz(1000000);
+					timer = time + drv_sectohz(1);
 				}
 			}
 		} else {
@@ -4046,14 +4046,14 @@
 		mutex_exit(&EMLXS_PORT_LOCK);
 
 		/* Wait for the timer thread to detect the error condition */
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 
 		/* Wait for the HBA to re-initialize */
 		i = 0;
 		mutex_enter(&EMLXS_PORT_LOCK);
 		while (!(hba->flag & FC_ONLINE_MODE) && (i++ < 30)) {
 			mutex_exit(&EMLXS_PORT_LOCK);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&EMLXS_PORT_LOCK);
 		}
 
--- old/usr/src/uts/common/io/fibre-channel/fca/oce/oce_mbx.c	2015-08-19 07:25:01.077618035 -0400
+++ new/usr/src/uts/common/io/fibre-channel/fca/oce/oce_mbx.c	2015-08-19 07:25:01.083253243 -0400
@@ -133,7 +133,7 @@
 	clock_t now, tstamp;
 	pd_mpu_mbox_db_t mbox_db;
 
-	tmo = (tmo_sec > 0) ? drv_usectohz(tmo_sec * 1000000) :
+	tmo = (tmo_sec > 0) ? drv_sectohz(tmo_sec) :
 	    drv_usectohz(DEFAULT_MQ_MBOX_TIMEOUT);
 
 	/* Add the default timeout to wait for a mailbox to complete */
--- old/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_api.c	2015-08-19 07:25:01.265699515 -0400
+++ new/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_api.c	2015-08-19 07:25:01.272297419 -0400
@@ -1498,7 +1498,7 @@
 
 		/* Start one second driver timer. */
 		if (ql_timer_timeout_id == NULL) {
-			ql_timer_ticks = drv_usectohz(1000000);
+			ql_timer_ticks = drv_sectohz(1);
 			ql_timer_timeout_id = timeout(ql_timer, (void *)0,
 			    ql_timer_ticks);
 		}
@@ -1973,7 +1973,7 @@
 		ha->flags |= ADAPTER_SUSPENDED;
 		while (ha->flags & ADAPTER_TIMER_BUSY && delay_cnt++ < 10) {
 			ADAPTER_STATE_UNLOCK(ha);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			ADAPTER_STATE_LOCK(ha);
 		}
 		if (ha->busy || ha->flags & ADAPTER_TIMER_BUSY) {
@@ -11869,7 +11869,7 @@
 	if (lock_needed == TRUE) {
 		/* Acquire mailbox register lock. */
 		MBX_REGISTER_LOCK(ha);
-		timer = (ha->mcp->timeout + 2) * drv_usectohz(1000000);
+		timer = drv_sectohz(ha->mcp->timeout + 2);
 
 		/* Check for mailbox available, if not wait for signal. */
 		while (ha->mailbox_flags & MBX_BUSY_FLG) {
@@ -15904,7 +15904,7 @@
 static int
 ql_suspend_adapter(ql_adapter_state_t *ha)
 {
-	clock_t timer = 32 * drv_usectohz(1000000);
+	clock_t timer = drv_sectohz(32);
 
 	QL_PRINT_3(CE_CONT, "(%d): started\n", ha->instance);
 
--- old/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_mbx.c	2015-08-19 07:25:01.872682491 -0400
+++ new/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_mbx.c	2015-08-19 07:25:01.878458858 -0400
@@ -111,7 +111,7 @@
 		}
 
 		/* Set timeout after command that is running. */
-		timer = (mcp->timeout + 20) * drv_usectohz(1000000);
+		timer = drv_sectohz(mcp->timeout + 20);
 		cv_stat = cv_reltimedwait_sig(&ha->cv_mbx_wait,
 		    &ha->pha->mbx_mutex, timer, TR_CLOCK_TICK);
 		if (cv_stat == -1 || cv_stat == 0) {
@@ -166,7 +166,7 @@
 	    !(ha->task_daemon_flags & (TASK_THREAD_CALLED |
 	    TASK_DAEMON_POWERING_DOWN)) &&
 	    !ddi_in_panic()) {
-		timer = mcp->timeout * drv_usectohz(1000000);
+		timer = drv_sectohz(mcp->timeout);
 		while (!(ha->mailbox_flags & (MBX_INTERRUPT | MBX_ABORT)) &&
 		    !(ha->task_daemon_flags & ISP_ABORT_NEEDED)) {
 
--- old/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_nx.c	2015-08-19 07:25:02.139765976 -0400
+++ new/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_nx.c	2015-08-19 07:25:02.145390949 -0400
@@ -1119,7 +1119,7 @@
 	clock_t		timer;
 	uint32_t	status;
 
-	for (timer = 30 * drv_usectohz(1000000); timer; timer--) {
+	for (timer = drv_sectohz(30); timer; timer--) {
 		ql_8021_wr_32(ha, UNM_ROMUSB_ROM_ABYTE_CNT, 0);
 		ql_8021_wr_32(ha, UNM_ROMUSB_ROM_INSTR_OPCODE,
 		    UNM_ROMUSB_ROM_RDSR_INSTR);
@@ -1608,7 +1608,7 @@
 
 	/* ??? */
 	ql_8021_wr_32(ha, UNM_PORT_MODE_ADDR, UNM_PORT_MODE_AUTO_NEG);
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 
 	/* CAM RAM Cold Boot Register */
 	ql_8021_rd_32(ha, UNM_RAM_COLD_BOOT, &data);
--- old/usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c	2015-08-19 07:25:02.335715651 -0400
+++ new/usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_mpi.c	2015-08-19 07:25:02.341029331 -0400
@@ -322,10 +322,9 @@
 			/* default 5 seconds from now to timeout */
 			timer = ddi_get_lbolt();
 			if (mbx_cmd->timeout) {
-				timer +=
-				    mbx_cmd->timeout * drv_usectohz(1000000);
+				timer += drv_sectohz(mbx_cmd->timeout);
 			} else {
-				timer += 5 * drv_usectohz(1000000);
+				timer += drv_sectohz(5);
 			}
 			if (cv_timedwait(&qlge->cv_mbx_intr, &qlge->mbx_mutex,
 			    timer) == -1) {
--- old/usr/src/uts/common/io/fibre-channel/impl/fctl.c	2015-08-19 07:25:02.517012312 -0400
+++ new/usr/src/uts/common/io/fibre-channel/impl/fctl.c	2015-08-19 07:25:02.523475728 -0400
@@ -654,7 +654,7 @@
 	mutex_exit(&fctl_ulp_list_mutex);
 
 	while (rw_tryenter(&fctl_ulp_lock, RW_WRITER) == 0) {
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		if (ntry++ > FC_ULP_ADD_RETRY_COUNT) {
 			fc_ulp_list_t	*list;
 			fc_ulp_list_t	*last;
--- old/usr/src/uts/common/io/fibre-channel/impl/fp.c	2015-08-19 07:25:02.836036299 -0400
+++ new/usr/src/uts/common/io/fibre-channel/impl/fp.c	2015-08-19 07:25:02.842094378 -0400
@@ -438,7 +438,7 @@
 		for (cnt = 0; (port->fp_job_head) && (cnt < fp_cmd_wait_cnt);
 		    cnt++) {
 			mutex_exit(&port->fp_mutex);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&port->fp_mutex);
 		}
 
@@ -1518,7 +1518,7 @@
 	    (delay_count < 30)) {
 		mutex_exit(&port->fp_mutex);
 		delay_count++;
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&port->fp_mutex);
 	}
 
@@ -1688,7 +1688,7 @@
 	    FP_SOFT_IN_UNSOL_CB)) && (delay_count < 30)) {
 		mutex_exit(&port->fp_mutex);
 		delay_count++;
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&port->fp_mutex);
 	}
 
--- old/usr/src/uts/common/io/fibre-channel/ulp/fcip.c	2015-08-19 07:25:03.381649544 -0400
+++ new/usr/src/uts/common/io/fibre-channel/ulp/fcip.c	2015-08-19 07:25:03.387388243 -0400
@@ -1150,7 +1150,7 @@
 	 * start the timeout threads
 	 */
 	fptr->fcip_timeout_id = timeout(fcip_timeout, fptr,
-	    drv_usectohz(1000000));
+	    drv_sectohz(1));
 
 	mutex_exit(&fptr->fcip_mutex);
 	mutex_enter(&fcip_global_mutex);
@@ -1260,7 +1260,7 @@
 	 * Restart the timeout thread
 	 */
 	fptr->fcip_timeout_id = timeout(fcip_timeout, fptr,
-	    drv_usectohz(1000000));
+	    drv_sectohz(1));
 	mutex_exit(&fptr->fcip_mutex);
 	return (rval);
 }
@@ -7339,7 +7339,7 @@
 	mutex_enter(&fptr->fcip_mutex);
 
 	fptr->fcip_timeout_id = timeout(fcip_timeout, fptr,
-	    drv_usectohz(1000000));
+	    drv_sectohz(1));
 	fptr->fcip_flags &= ~(FCIP_IN_TIMEOUT);
 	mutex_exit(&fptr->fcip_mutex);
 }
--- old/usr/src/uts/common/io/fibre-channel/ulp/fcp.c	2015-08-19 07:25:03.731712004 -0400
+++ new/usr/src/uts/common/io/fibre-channel/ulp/fcp.c	2015-08-19 07:25:03.738126218 -0400
@@ -4059,7 +4059,7 @@
 
 					if (!i_ddi_devi_attached(cdip)) {
 						mutex_exit(&plun->lun_mutex);
-						delay(drv_usectohz(1000000));
+						delay(drv_sectohz(1));
 						mutex_enter(&plun->lun_mutex);
 					} else {
 						/*
@@ -4430,7 +4430,7 @@
 
 		while (pptr->port_ipkt_cnt) {
 			mutex_exit(&pptr->port_mutex);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&pptr->port_mutex);
 		}
 
@@ -4784,7 +4784,7 @@
 					    fcp_outstanding_lun_cmds(ptgt)
 					    == FC_SUCCESS) {
 						mutex_exit(&ptgt->tgt_mutex);
-						delay(drv_usectohz(1000000));
+						delay(drv_sectohz(1));
 						mutex_enter(&ptgt->tgt_mutex);
 					}
 					mutex_exit(&ptgt->tgt_mutex);
@@ -10007,8 +10007,7 @@
 	soft_state_linked++;
 
 	if (fcp_watchdog_init++ == 0) {
-		fcp_watchdog_tick = fcp_watchdog_timeout *
-		    drv_usectohz(1000000);
+		fcp_watchdog_tick = drv_sectohz(fcp_watchdog_timeout);
 		fcp_watchdog_id = timeout(fcp_watch, NULL,
 		    fcp_watchdog_tick);
 	}
@@ -10298,7 +10297,7 @@
 			break;
 		}
 		mutex_exit(&pptr->port_mutex);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&pptr->port_mutex);
 	}
 
@@ -12212,8 +12211,7 @@
 
 	mutex_enter(&fcp_global_mutex);
 	if (fcp_watchdog_init++ == 0) {
-		fcp_watchdog_tick = fcp_watchdog_timeout *
-		    drv_usectohz(1000000);
+		fcp_watchdog_tick = drv_sectohz(fcp_watchdog_timeout);
 		fcp_watchdog_id = timeout(fcp_watch,
 		    NULL, fcp_watchdog_tick);
 	}
--- old/usr/src/uts/common/io/fibre-channel/ulp/fcsm.c	2015-08-19 07:25:04.325125510 -0400
+++ new/usr/src/uts/common/io/fibre-channel/ulp/fcsm.c	2015-08-19 07:25:04.331198637 -0400
@@ -767,7 +767,7 @@
 			while ((count++ <= 30) &&
 			    (fcsm_num_attaching || fcsm_num_detaching)) {
 				mutex_exit(&fcsm_global_mutex);
-				delay(drv_usectohz(1000000));
+				delay(drv_sectohz(1));
 				mutex_enter(&fcsm_global_mutex);
 			}
 
@@ -1055,7 +1055,7 @@
 	count = 0;
 	while ((count++ <= 30) && (fcsm->sm_ncmds || fcsm->sm_cb_count)) {
 		mutex_exit(&fcsm->sm_mutex);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&fcsm->sm_mutex);
 	}
 	if (fcsm->sm_ncmds || fcsm->sm_cb_count) {
@@ -1568,7 +1568,7 @@
 				    "fciocmd: instance 0x%x, "
 				    "wait for port attach", instance));
 			}
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			fcsm = ddi_get_soft_state(fcsm_state, instance);
 		}
 		if (count > 30) {
--- old/usr/src/uts/common/io/gldutil.c	2015-08-19 07:25:04.569425137 -0400
+++ new/usr/src/uts/common/io/gldutil.c	2015-08-19 07:25:04.574809303 -0400
@@ -1351,7 +1351,7 @@
 	if (t > 600)
 		t = 600;	/* Let's be reasonable */
 	/* We're using ticks (lbolts) for our timeout -- convert from seconds */
-	t = drv_usectohz(1000000 * t);
+	t = drv_sectohz(t);
 	((gld_mac_pvt_t *)macinfo->gldm_mac_pvt)->rde_timeout = t;
 	}
 
--- old/usr/src/uts/common/io/hxge/hxge_main.c	2015-08-19 07:25:04.783667001 -0400
+++ new/usr/src/uts/common/io/hxge/hxge_main.c	2015-08-19 07:25:04.791172452 -0400
@@ -2430,7 +2430,7 @@
 
 		hxgep->timeout.link_status = 0;
 		hxgep->timeout.report_link_status = B_TRUE;
-		hxgep->timeout.ticks = drv_usectohz(2 * 1000000);
+		hxgep->timeout.ticks = drv_sectohz(2);
 
 		/* Start the link status timer to check the link status */
 		MUTEX_ENTER(&hxgep->timeout.lock);
--- old/usr/src/uts/common/io/ib/adapters/hermon/hermon_stats.c	2015-08-19 07:25:05.045958219 -0400
+++ new/usr/src/uts/common/io/ib/adapters/hermon/hermon_stats.c	2015-08-19 07:25:05.051496958 -0400
@@ -744,7 +744,7 @@
 	hermon_state_t		*state = (hermon_state_t *)arg;
 	hermon_ks_info_t	*ksi = state->hs_ks_info;
 	uint_t			i;
-	clock_t			delta = drv_usectohz(1000000);
+	clock_t			delta = drv_sectohz(1);
 
 	mutex_enter(&ksi->hki_perfcntr64_lock);
 	/*
--- old/usr/src/uts/common/io/ib/adapters/tavor/tavor_stats.c	2015-08-19 07:25:05.220821384 -0400
+++ new/usr/src/uts/common/io/ib/adapters/tavor/tavor_stats.c	2015-08-19 07:25:05.226701813 -0400
@@ -681,7 +681,7 @@
 		/* sleep for a second */
 		(void) cv_timedwait(&ksi->tki_perfcntr64_cv,
 		    &ksi->tki_perfcntr64_lock,
-		    ddi_get_lbolt() + drv_usectohz(1000000));
+		    ddi_get_lbolt() + drv_sectohz(1));
 	}
 	ksi->tki_perfcntr64_flags = 0;
 	mutex_exit(&ksi->tki_perfcntr64_lock);
--- old/usr/src/uts/common/io/ib/clients/rds/rdsib_buf.c	2015-08-19 07:25:05.390675473 -0400
+++ new/usr/src/uts/common/io/ib/clients/rds/rdsib_buf.c	2015-08-19 07:25:05.395969887 -0400
@@ -133,7 +133,7 @@
 	    "pending buffers: %d", rds_dpool.pool_nbusy);
 	while (rds_dpool.pool_nbusy != 0) {
 		mutex_exit(&rds_dpool.pool_lock);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&rds_dpool.pool_lock);
 	}
 
@@ -815,7 +815,7 @@
 		while (recvqp->qp_level != 0) {
 			/* wait one second and try again */
 			mutex_exit(&recvqp->qp_lock);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&recvqp->qp_lock);
 		}
 	} else if (recvqp->qp_level != 0) {
@@ -858,13 +858,13 @@
 		while (spool->pool_nbusy != 0) {
 			if (rds_no_interrupts) {
 				/* wait one second and try again */
-				delay(drv_usectohz(1000000));
+				delay(drv_sectohz(1));
 				rds_poll_send_completions(ep->ep_sendcq, ep,
 				    B_TRUE);
 			} else {
 				/* wait one second and try again */
 				mutex_exit(&spool->pool_lock);
-				delay(drv_usectohz(1000000));
+				delay(drv_sectohz(1));
 				mutex_enter(&spool->pool_lock);
 			}
 		}
@@ -887,7 +887,7 @@
 				    "EP(%p) BP(0x%p/0x%p) last "
 				    "sent/acknowledged", ep, bp, ackbp);
 				mutex_exit(&spool->pool_lock);
-				delay(drv_usectohz(1000000));
+				delay(drv_sectohz(1));
 				mutex_enter(&spool->pool_lock);
 
 				bp = spool->pool_tailp;
@@ -914,13 +914,13 @@
 		while (ep->ep_rdmacnt != 0) {
 			if (rds_no_interrupts) {
 				/* wait one second and try again */
-				delay(drv_usectohz(1000000));
+				delay(drv_sectohz(1));
 				rds_poll_send_completions(ep->ep_sendcq, ep,
 				    B_FALSE);
 			} else {
 				/* wait one second and try again */
 				mutex_exit(&ep->ep_lock);
-				delay(drv_usectohz(1000000));
+				delay(drv_sectohz(1));
 				mutex_enter(&ep->ep_lock);
 			}
 		}
--- old/usr/src/uts/common/io/ib/clients/rds/rdsib_cm.c	2015-08-19 07:25:05.572057522 -0400
+++ new/usr/src/uts/common/io/ib/clients/rds/rdsib_cm.c	2015-08-19 07:25:05.577585129 -0400
@@ -285,7 +285,7 @@
 				    (sp->session_state ==
 				    RDS_SESSION_STATE_FINI))) {
 					rw_exit(&sp->session_lock);
-					delay(drv_usectohz(1000000));
+					delay(drv_sectohz(1));
 					rw_enter(&sp->session_lock, RW_WRITER);
 				}
 		}
--- old/usr/src/uts/common/io/ib/clients/rds/rdsib_ep.c	2015-08-19 07:25:05.749231217 -0400
+++ new/usr/src/uts/common/io/ib/clients/rds/rdsib_ep.c	2015-08-19 07:25:05.754815062 -0400
@@ -772,7 +772,7 @@
 	    (sp->session_state == RDS_SESSION_STATE_FAILED) ||
 	    (sp->session_state == RDS_SESSION_STATE_FINI))) {
 		rw_exit(&sp->session_lock);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		rw_enter(&sp->session_lock, RW_READER);
 		RDS_DPRINTF2("rds_destroy_session", "SP(%p) State: %d WAITING "
 		    "ON SESSION", sp, sp->session_state);
@@ -863,7 +863,7 @@
 	}
 
 	/* wait 1 sec before re-connecting */
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 
 	do {
 		ibt_ip_path_attr_t	ipattr;
@@ -907,7 +907,7 @@
 		RDS_DPRINTF2(LABEL, "ibt_get_ip_paths failed, ret: %d ", ret);
 
 		/* wait 1 sec before re-trying */
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		cnt++;
 	} while (cnt < 5);
 
@@ -1115,7 +1115,7 @@
 		/* wait one second and try again */
 		RDS_DPRINTF2("rds_close_sessions", "waiting on "
 		    "pending packets", RDS_GET_RXPKTS_PEND());
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 	}
 	RDS_DPRINTF2("rds_close_sessions", "No more RX packets pending");
 
--- old/usr/src/uts/common/io/ib/clients/rds/rdsib_ib.c	2015-08-19 07:25:05.956112639 -0400
+++ new/usr/src/uts/common/io/ib/clients/rds/rdsib_ib.c	2015-08-19 07:25:05.961640945 -0400
@@ -1610,7 +1610,7 @@
 		    (sp->session_state == RDS_SESSION_STATE_PASSIVE_CLOSING) ||
 		    (sp->session_state == RDS_SESSION_STATE_CLOSED)) {
 			rw_exit(&sp->session_lock);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			rw_enter(&sp->session_lock, RW_READER);
 			RDS_DPRINTF2("rdsib_del_hca", "SP(%p) State: %d", sp,
 			    sp->session_state);
--- old/usr/src/uts/common/io/ib/clients/rdsv3/af_rds.c	2015-08-19 07:25:06.154447089 -0400
+++ new/usr/src/uts/common/io/ib/clients/rdsv3/af_rds.c	2015-08-19 07:25:06.159798814 -0400
@@ -120,7 +120,7 @@
 
 	while (sk->sk_refcount > 1) {
 		/* wait for 1 sec and try again */
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 	}
 
 	/* this will free the rs and sk */
--- old/usr/src/uts/common/io/ib/clients/rdsv3/rdsv3_impl.c	2015-08-19 07:25:06.328716582 -0400
+++ new/usr/src/uts/common/io/ib/clients/rdsv3/rdsv3_impl.c	2015-08-19 07:25:06.334409188 -0400
@@ -565,7 +565,7 @@
 		/* already flushing, wait until the flushing is complete */
 		do {
 			mutex_exit(&wq->wq_lock);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&wq->wq_lock);
 		} while (wq->wq_state == RDSV3_WQ_THREAD_FLUSHING);
 		break;
@@ -602,7 +602,7 @@
 	case RDSV3_WQ_THREAD_FLUSHING:
 		do {
 			mutex_exit(&wq->wq_lock);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(&wq->wq_lock);
 		} while (wq->wq_state == RDSV3_WQ_THREAD_FLUSHING);
 
@@ -736,7 +736,7 @@
 
 	while (wq->wq_pending > 0) {
 		mutex_exit(&wq->wq_lock);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&wq->wq_lock);
 	};
 	mutex_exit(&wq->wq_lock);
@@ -792,7 +792,7 @@
 	mutex_init(&wq->wq_lock, NULL, MUTEX_DRIVER, NULL);
 	wq->wq_state = RDSV3_WQ_THREAD_IDLE;
 	wq->wq_pending = 0;
-	rdsv3_one_sec_in_hz = drv_usectohz(1000000);
+	rdsv3_one_sec_in_hz = drv_sectohz(1);
 
 	RDSV3_DPRINTF2("create_singlethread_workqueue", "Return");
 
--- old/usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c	2015-08-19 07:25:06.510466687 -0400
+++ new/usr/src/uts/common/io/ib/mgt/ibcm/ibcm_path.c	2015-08-19 07:25:06.516477835 -0400
@@ -191,7 +191,7 @@
 {
 	clock_t timeout_in_hz;
 
-	timeout_in_hz = drv_usectohz(ibcm_path_cache_timeout * 1000000);
+	timeout_in_hz = drv_sectohz(ibcm_path_cache_timeout);
 	mutex_enter(&ibcm_path_cache_mutex);
 	ibcm_path_cache_invalidate = 1;	/* invalidate cache on next check */
 	if (ibcm_path_cache_timeout_id)
@@ -208,7 +208,7 @@
 	int cache_size = ibcm_path_cache_size_init;
 	ibcm_path_cache_t *path_cachep;
 
-	timeout_in_hz = drv_usectohz(ibcm_path_cache_timeout * 1000000);
+	timeout_in_hz = drv_sectohz(ibcm_path_cache_timeout);
 	path_cachep = kmem_zalloc(cache_size * sizeof (*path_cachep), KM_SLEEP);
 	mutex_init(&ibcm_path_cache_mutex, NULL, MUTEX_DEFAULT, NULL);
 	mutex_enter(&ibcm_path_cache_mutex);
--- old/usr/src/uts/common/io/ib/mgt/ibmf/ibmf.c	2015-08-19 07:25:06.793423236 -0400
+++ new/usr/src/uts/common/io/ib/mgt/ibmf/ibmf.c	2015-08-19 07:25:06.799015897 -0400
@@ -273,7 +273,7 @@
 	while (clientp->ic_recv_cb == NULL && clientp->ic_msgs_alloced != 0 &&
 	    secs > 0) {
 		mutex_exit(&clientp->ic_mutex);
-		delay(drv_usectohz(1000000)); /* one second delay */
+		delay(drv_sectohz(1)); /* one second delay */
 		secs--;
 		mutex_enter(&clientp->ic_mutex);
 	}
--- old/usr/src/uts/common/io/ib/mgt/ibmf/ibmf_saa_impl.c	2015-08-19 07:25:06.980758533 -0400
+++ new/usr/src/uts/common/io/ib/mgt/ibmf/ibmf_saa_impl.c	2015-08-19 07:25:06.986541188 -0400
@@ -1563,8 +1563,7 @@
 		 * to allow SA to transition from busy state (if busy)
 		 */
 		if (mad_status == MAD_STATUS_BUSY)
-			delay(drv_usectohz(
-			    IBMF_SAA_BUSY_RETRY_SLEEP_SECS * 1000000));
+			delay(drv_sectohz(IBMF_SAA_BUSY_RETRY_SLEEP_SECS));
 	}
 
 	if (ibmf_status != IBMF_SUCCESS) {
--- old/usr/src/uts/common/io/igb/igb_main.c	2015-08-19 07:25:07.229077803 -0400
+++ new/usr/src/uts/common/io/igb/igb_main.c	2015-08-19 07:25:07.234691301 -0400
@@ -3445,7 +3445,7 @@
 	 */
 	igb->watchdog_tid =
 	    timeout(igb_local_timer,
-	    (void *)igb, 1 * drv_usectohz(1000000));
+	    (void *)igb, drv_sectohz(1));
 
 }
 
--- old/usr/src/uts/common/io/ipw/ipw2100.c	2015-08-19 07:25:07.504165204 -0400
+++ new/usr/src/uts/common/io/ipw/ipw2100.c	2015-08-19 07:25:07.509774924 -0400
@@ -1073,7 +1073,7 @@
 	/*
 	 * wait for command done
 	 */
-	clk = drv_usectohz(1000000);	/* 1 second */
+	clk = drv_sectohz(1);
 	mutex_enter(&sc->sc_ilock);
 	while (sc->sc_done == 0) {
 		/*
--- old/usr/src/uts/common/io/iwh/iwh.c	2015-08-19 07:25:07.728728153 -0400
+++ new/usr/src/uts/common/io/iwh/iwh.c	2015-08-19 07:25:07.734375405 -0400
@@ -2163,7 +2163,7 @@
 		return (err);
 	}
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 
 	/*
 	 * wait loading init_text until completed or timeout
@@ -2193,7 +2193,7 @@
 		return (err);
 	}
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 
 	/*
 	 * wait loading init_data until completed or timeout
@@ -2234,7 +2234,7 @@
 		return (err);
 	}
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 
 	/*
 	 * wait loading run_text until completed or timeout
@@ -2264,7 +2264,7 @@
 		return (err);
 	}
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 
 	/*
 	 * wait loading run_data until completed or timeout
@@ -3872,7 +3872,7 @@
 		if (ic->ic_mach &&
 		    (sc->sc_flags & IWH_F_RATE_AUTO_CTL)) {
 			clk = ddi_get_lbolt();
-			if (clk > sc->sc_clk + drv_usectohz(1000000)) {
+			if (clk > sc->sc_clk + drv_sectohz(1)) {
 				iwh_amrr_timeout(sc);
 			}
 		}
@@ -4829,7 +4829,7 @@
 	 */
 	IWH_WRITE(sc, CSR_RESET, 0);
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 	while (!(sc->sc_flags & IWH_F_FW_INIT)) {
 		if (cv_timedwait(&sc->sc_ucode_cv,
 		    &sc->sc_glock, clk) < 0) {
@@ -4876,7 +4876,7 @@
 	 */
 	IWH_WRITE(sc, CSR_RESET, 0);
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 	while (!(sc->sc_flags & IWH_F_FW_INIT)) {
 		if (cv_timedwait(&sc->sc_ucode_cv,
 		    &sc->sc_glock, clk) < 0) {
--- old/usr/src/uts/common/io/iwp/iwp.c	2015-08-19 07:25:08.038843790 -0400
+++ new/usr/src/uts/common/io/iwp/iwp.c	2015-08-19 07:25:08.044389753 -0400
@@ -2070,7 +2070,7 @@
 		return (err);
 	}
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 
 	/* wait loading init_text until completed or timeout */
 	while (!(sc->sc_flags & IWP_F_PUT_SEG)) {
@@ -2098,7 +2098,7 @@
 		return (err);
 	}
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 
 	/*
 	 * wait loading init_data until completed or timeout
@@ -2139,7 +2139,7 @@
 		return (err);
 	}
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 
 	/* wait loading run_text until completed or timeout */
 	while (!(sc->sc_flags & IWP_F_PUT_SEG)) {
@@ -2167,7 +2167,7 @@
 		return (err);
 	}
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 
 	/*
 	 * wait loading run_data until completed or timeout
@@ -3697,7 +3697,7 @@
 		if (ic->ic_mach &&
 		    (sc->sc_flags & IWP_F_RATE_AUTO_CTL)) {
 			clk = ddi_get_lbolt();
-			if (clk > sc->sc_clk + drv_usectohz(1000000)) {
+			if (clk > sc->sc_clk + drv_sectohz(1)) {
 				iwp_amrr_timeout(sc);
 			}
 		}
@@ -4565,7 +4565,7 @@
 	 */
 	IWP_WRITE(sc, CSR_RESET, 0);
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 	while (!(sc->sc_flags & IWP_F_FW_INIT)) {
 		if (cv_timedwait(&sc->sc_ucode_cv,
 		    &sc->sc_glock, clk) < 0) {
@@ -4612,7 +4612,7 @@
 	 */
 	IWP_WRITE(sc, CSR_RESET, 0);
 
-	clk = ddi_get_lbolt() + drv_usectohz(1000000);
+	clk = ddi_get_lbolt() + drv_sectohz(1);
 	while (!(sc->sc_flags & IWP_F_FW_INIT)) {
 		if (cv_timedwait(&sc->sc_ucode_cv,
 		    &sc->sc_glock, clk) < 0) {
--- old/usr/src/uts/common/io/ixgbe/ixgbe_main.c	2015-08-19 07:25:08.326923772 -0400
+++ new/usr/src/uts/common/io/ixgbe/ixgbe_main.c	2015-08-19 07:25:08.332631663 -0400
@@ -3705,7 +3705,7 @@
 	 */
 	ixgbe->watchdog_tid =
 	    timeout(ixgbe_local_timer,
-	    (void *)ixgbe, 1 * drv_usectohz(1000000));
+	    (void *)ixgbe, drv_sectohz(1));
 
 }
 
--- old/usr/src/uts/common/io/lvm/md/md_rename.c	2015-08-19 07:25:08.613187164 -0400
+++ new/usr/src/uts/common/io/lvm/md/md_rename.c	2015-08-19 07:25:08.618747978 -0400
@@ -1067,7 +1067,7 @@
 			cmn_err(CE_NOTE, "previous: %d, current: %d, role: %s",
 					previous, current,
 					ROLE(delta->old_role));
-			delay(3*drv_usectohz(1000000));
+			delay(drv_sectohz(3));
 			ASSERT(FALSE);
 		}
 	}
@@ -1220,7 +1220,7 @@
 		cmn_err(CE_NOTE, "    end: %llx", rtxnp->to.end);
 		cmn_err(CE_NOTE, "end: %llx\n", rtxnp->end);
 	}
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 }
 
 /*
@@ -1260,7 +1260,7 @@
 		}
 		cmn_err(CE_NOTE, "end: %llx\n", r->end);
 	}
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 }
 
 /*
--- old/usr/src/uts/common/io/mr_sas/mr_sas_tbolt.c	2015-08-19 07:25:08.806457278 -0400
+++ new/usr/src/uts/common/io/mr_sas/mr_sas_tbolt.c	2015-08-19 07:25:08.811961884 -0400
@@ -1063,7 +1063,7 @@
 	con_log(CL_ANN1, (CE_CONT, "[cmd  Status= %x] ",
 	    frame_hdr->cmd_status));
 
-	timeout = drv_usectohz(MFI_POLL_TIMEOUT_SECS * MICROSEC);
+	timeout = drv_sectohz(MFI_POLL_TIMEOUT_SECS);
 	do {
 		if (ddi_get8(cmd->frame_dma_obj.acc_handle,
 		    &mfiFrameInit2->cmd_status) != MFI_CMD_STATUS_POLL_MODE)
--- old/usr/src/uts/common/io/myri10ge/drv/myri10ge.c	2015-08-19 07:25:09.050962723 -0400
+++ new/usr/src/uts/common/io/myri10ge/drv/myri10ge.c	2015-08-19 07:25:09.056569316 -0400
@@ -2215,7 +2215,7 @@
 	}
 
 	while (old_down_cnt == *((volatile int *)&mgp->down_cnt)) {
-		delay(1 * drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		wait_time--;
 		if (wait_time == 0)
 			break;
@@ -2243,11 +2243,11 @@
 			if (polling) {
 				printf("%s: slice %d is polling\n",
 				    mgp->name, i);
-				delay(1 * drv_usectohz(1000000));
+				delay(drv_sectohz(1));
 				goto again;
 			}
 		}
-		delay(1 * drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		if (old_down_cnt == *((volatile int *)&mgp->down_cnt)) {
 			cmn_err(CE_WARN, "%s: Never got down irq\n", mgp->name);
 		}
@@ -5877,7 +5877,7 @@
 	mgp->dip = dip;
 	mgp->cfg_hdl = handle;
 
-	mgp->timer_ticks = 5 * drv_usectohz(1000000); /* 5 seconds */
+	mgp->timer_ticks = drv_sectohz(5);
 	myri10ge_test_physical(dip);
 
 	/* allocate command page */
--- old/usr/src/uts/common/io/net80211/net80211.c	2015-08-19 07:25:09.392913981 -0400
+++ new/usr/src/uts/common/io/net80211/net80211.c	2015-08-19 07:25:09.398313750 -0400
@@ -311,7 +311,7 @@
 {
 	if (ic->ic_watchdog_timer == 0 && ic->ic_watchdog != NULL) {
 		ic->ic_watchdog_timer = timeout(ic->ic_watchdog, ic,
-		    drv_usectohz(1000000 * timer));
+		    drv_sectohz(timer));
 	}
 }
 
--- old/usr/src/uts/common/io/nge/nge_main.c	2015-08-19 07:25:09.562875096 -0400
+++ new/usr/src/uts/common/io/nge/nge_main.c	2015-08-19 07:25:09.568578221 -0400
@@ -2203,7 +2203,7 @@
 			tx_en.val = nge_reg_get32(ngep, NGE_TX_EN);
 			if (tx_en.bits.smu2mac == NGE_SMU_FREE)
 				break;
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 		}
 		if (tx_en.bits.smu2mac != NGE_SMU_FREE)
 			return (DDI_FAILURE);
--- old/usr/src/uts/common/io/ntxn/unm_nic_main.c	2015-08-19 07:25:09.785622757 -0400
+++ new/usr/src/uts/common/io/ntxn/unm_nic_main.c	2015-08-19 07:25:09.791956595 -0400
@@ -1166,7 +1166,7 @@
 	 * This function schedules a call for itself.
 	 */
 	adapter->watchdog_timer = timeout((void (*)(void *))&unm_watchdog,
-	    (void *)adapter, 2 * drv_usectohz(1000000));
+	    (void *)adapter, drv_sectohz(2));
 
 }
 
--- old/usr/src/uts/common/io/nxge/nxge_hio.c	2015-08-19 07:25:09.997196843 -0400
+++ new/usr/src/uts/common/io/nxge/nxge_hio.c	2015-08-19 07:25:10.002981437 -0400
@@ -806,7 +806,7 @@
 nxge_delay(
 	int seconds)
 {
-	delay(drv_usectohz(seconds * 1000000));
+	delay(drv_sectohz(seconds));
 }
 
 static dmc_reg_name_t rx_names[] = {
--- old/usr/src/uts/common/io/pcic.c	2015-08-19 07:25:10.214057311 -0400
+++ new/usr/src/uts/common/io/pcic.c	2015-08-19 07:25:10.221718338 -0400
@@ -5501,7 +5501,7 @@
 			    cbps);
 			pcic_putcb(pcic, CB_EVENT_FORCE, CB_EF_CVTEST);
 			debounce = 0;
-			debounce_time = drv_usectohz(1000000);
+			debounce_time = drv_sectohz(1);
 		}
 		if (debounce) {
 			sockp->pcs_flags |= PCS_CARD_PRESENT;
--- old/usr/src/uts/common/io/pciex/hotplug/pciehpc.c	2015-08-19 07:25:10.557887926 -0400
+++ new/usr/src/uts/common/io/pciex/hotplug/pciehpc.c	2015-08-19 07:25:10.563292570 -0400
@@ -1128,7 +1128,7 @@
 	}
 
 	/* wait 1 sec for link to come up */
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 
 	/* check power is really turned ON */
 	control =  pciehpc_reg_get16(ctrl_p,
@@ -1167,7 +1167,7 @@
 			pciehpc_issue_hpc_command(ctrl_p, control);
 
 			/* wait 1 sec after toggling the state of EMI lock */
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 		}
 	}
 
@@ -1276,7 +1276,7 @@
 			pciehpc_issue_hpc_command(ctrl_p, control);
 
 			/* wait 1 sec after toggling the state of EMI lock */
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 		}
 	}
 
--- old/usr/src/uts/common/io/pshot.c	2015-08-19 07:25:10.765999482 -0400
+++ new/usr/src/uts/common/io/pshot.c	2015-08-19 07:25:10.771682557 -0400
@@ -3077,13 +3077,13 @@
 			cmn_err(CE_CONT,
 			    "pshot%d: %s delay %d second\n",
 			    ddi_get_instance(parent), devname, n);
-		delay(n * drv_usectohz(1000000));
+		delay(drv_sectohz(n));
 	} else if (strncmp(caddr, "delay", 5) == 0) {
 		if (pshot_debug)
 			cmn_err(CE_CONT,
 			    "pshot%d: %s delay 1 second\n",
 			    ddi_get_instance(parent), devname);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 	} else if (strncmp(caddr, "wait,", 5) == 0) {
 		p = caddr+5;
 		n = stoi(&p);
@@ -3093,13 +3093,13 @@
 			cmn_err(CE_CONT,
 			    "pshot%d: %s wait %d second\n",
 			    ddi_get_instance(parent), devname, n);
-		delay(n * drv_usectohz(1000000));
+		delay(drv_sectohz(n));
 	} else if (strncmp(caddr, "wait", 4) == 0) {
 		if (pshot_debug)
 			cmn_err(CE_CONT,
 			    "pshot%d: %s wait 1 second\n",
 			    ddi_get_instance(parent), devname);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 	}
 
 	return (NDI_SUCCESS);
@@ -3480,7 +3480,7 @@
 	while (1) {
 		pshot_walk_tree();
 		mutex_enter(&pwl);
-		(void) timeout(pshot_timeout, NULL, 5 * drv_usectohz(1000000));
+		(void) timeout(pshot_timeout, NULL, drv_sectohz(5));
 		cv_wait(&pwcv, &pwl);
 		mutex_exit(&pwl);
 	}
@@ -3549,128 +3549,128 @@
 	events.ndi_event_defs = pshot_test_events;
 
 	cmn_err(CE_CONT, "pshot: binding set of 8 events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: binding the same set of 8 events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding  all events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval);
 
 
 	cmn_err(CE_CONT, "pshot: binding one highlevel event\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 1;
 	events.ndi_event_defs = pshot_test_events_high;
 	rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: binding the same set of 8 events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = PSHOT_N_TEST_EVENTS;
 	events.ndi_event_defs = pshot_test_events;
 	rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding one highlevel event\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 1;
 	events.ndi_event_defs = pshot_test_events_high;
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: binding one highlevel event\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 1;
 	events.ndi_event_defs = pshot_test_events_high;
 	rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding one highlevel event\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 1;
 	events.ndi_event_defs = pshot_test_events_high;
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: binding the same set of 8 events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = PSHOT_N_TEST_EVENTS;
 	events.ndi_event_defs = pshot_test_events;
 	rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding first 2 events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 2;
 	events.ndi_event_defs = pshot_test_events;
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding first 2 events again\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 2;
 	events.ndi_event_defs = pshot_test_events;
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding  middle 2 events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 2;
 	events.ndi_event_defs = &pshot_test_events[4];
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: binding those 2 events back\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 2;
 	events.ndi_event_defs = &pshot_test_events[4];
 	rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding  2 events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 2;
 	events.ndi_event_defs = &pshot_test_events[4];
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding  all events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = PSHOT_N_TEST_EVENTS;
 	events.ndi_event_defs = pshot_test_events;
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding  1 event\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 1;
 	events.ndi_event_defs = &pshot_test_events[2];
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding  1 event\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 1;
 	events.ndi_event_defs = &pshot_test_events[3];
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding  1 event\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 1;
 	events.ndi_event_defs = &pshot_test_events[6];
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_unbind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: unbinding  1 event\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	events.ndi_n_events = 1;
 	events.ndi_event_defs = &pshot_test_events[7];
 	rval = ndi_event_unbind_set(hdl, &events, NDI_SLEEP);
@@ -3680,12 +3680,12 @@
 	events.ndi_event_defs = pshot_test_events;
 
 	cmn_err(CE_CONT, "pshot: binding set of 8 events\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	rval = ndi_event_bind_set(hdl, &events, NDI_SLEEP);
 	cmn_err(CE_CONT, "pshot: ndi_event_bind_set rval = %d\n", rval);
 
 	cmn_err(CE_CONT, "pshot: adding 8 callbacks\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	for (i = 0; i < 8; i++) {
 		rval = ndi_event_add_callback(hdl, pshot->dip,
 		    ndi_event_tag_to_cookie(hdl,
@@ -3706,7 +3706,7 @@
 
 		cmn_err(CE_CONT, "pshot: callback, tag=%d rval=%d\n",
 		    i, rval);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 	}
 
 	cmn_err(CE_CONT, "pshot: redo event callbacks\n");
@@ -3719,11 +3719,11 @@
 
 		cmn_err(CE_CONT, "pshot: callback, tag=%d rval=%d\n",
 		    i, rval);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 	}
 
 	cmn_err(CE_CONT, "pshot: removing 8 callbacks\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 
 	for (i = 0; i < 8; i++) {
 		(void) ndi_event_remove_callback(hdl,
@@ -3733,7 +3733,7 @@
 	}
 
 	cmn_err(CE_CONT, "pshot: freeing handle with bound set\n");
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 
 	rval =	ndi_event_free_hdl(hdl);
 
--- old/usr/src/uts/common/io/rtw/rtw.c	2015-08-19 07:25:11.018651662 -0400
+++ new/usr/src/uts/common/io/rtw/rtw.c	2015-08-19 07:25:11.024341974 -0400
@@ -2474,7 +2474,7 @@
 	mutex_exit(&rsc->sc_genlock);
 	if (ic->ic_state == IEEE80211_S_RUN)
 		rsc->sc_ratectl_id = timeout(rtw_rate_ctl, ic,
-		    drv_usectohz(1000000));
+		    drv_sectohz(1));
 }
 
 static int32_t
@@ -2533,7 +2533,7 @@
 			    "rtw_new_state: sta\n");
 			rtw_join_bss(rsc, ic->ic_bss->in_bssid, 0);
 			rsc->sc_ratectl_id = timeout(rtw_rate_ctl, ic,
-			    drv_usectohz(1000000));
+			    drv_sectohz(1));
 			break;
 		case IEEE80211_M_MONITOR:
 			break;
--- old/usr/src/uts/common/io/sata/adapters/ahci/ahci.c	2015-08-19 07:25:11.258243038 -0400
+++ new/usr/src/uts/common/io/sata/adapters/ahci/ahci.c	2015-08-19 07:25:11.264555011 -0400
@@ -457,8 +457,7 @@
 	}
 
 	/* watchdog tick */
-	ahci_watchdog_tick = drv_usectohz(
-	    (clock_t)ahci_watchdog_timeout * 1000000);
+	ahci_watchdog_tick = drv_sectohz(ahci_watchdog_timeout);
 
 	ret = mod_install(&modlinkage);
 	if (ret != 0) {
@@ -1812,7 +1811,7 @@
 		}
 
 		pkt_timeout_ticks =
-		    drv_usectohz((clock_t)spkt->satapkt_time * 1000000);
+		    drv_sectohz((clock_t)spkt->satapkt_time);
 
 		while (spkt->satapkt_reason == SATA_PKT_BUSY) {
 			mutex_exit(&ahci_portp->ahciport_mutex);
--- old/usr/src/uts/common/io/sata/adapters/nv_sata/nv_sata.c	2015-08-19 07:25:11.666499012 -0400
+++ new/usr/src/uts/common/io/sata/adapters/nv_sata/nv_sata.c	2015-08-19 07:25:11.672113939 -0400
@@ -5819,8 +5819,7 @@
 			    "nvslot_stime: %ld max ticks till timeout: %ld "
 			    "cur_time: %ld cmd = 0x%x lba = %d seq = %d",
 			    nv_slotp->nvslot_stime,
-			    drv_usectohz(MICROSEC *
-			    spkt->satapkt_time), ddi_get_lbolt(),
+			    drv_sectohz(spkt->satapkt_time), ddi_get_lbolt(),
 			    cmd, lba, nvp->nvp_seq);
 
 			NVLOG(NVDBG_TIMEOUT, nvp->nvp_ctlp, nvp,
--- old/usr/src/uts/common/io/sata/adapters/si3124/si3124.c	2015-08-19 07:25:11.985485887 -0400
+++ new/usr/src/uts/common/io/sata/adapters/si3124/si3124.c	2015-08-19 07:25:11.992393382 -0400
@@ -470,7 +470,7 @@
 		return (error);
 	}
 
-	si_watchdog_tick = drv_usectohz((clock_t)si_watchdog_timeout * 1000000);
+	si_watchdog_tick = drv_sectohz((clock_t)si_watchdog_timeout);
 
 	return (error);
 }
@@ -2343,8 +2343,7 @@
 
 	SIDBG_P(SIDBG_ENTRY, si_portp, "si_poll_cmd entered: port: 0x%x", port);
 
-	pkt_timeout_ticks = drv_usectohz((clock_t)satapkt->satapkt_time *
-	    1000000);
+	pkt_timeout_ticks = drv_sectohz((clock_t)satapkt->satapkt_time);
 
 
 	/* we start out with SATA_PKT_COMPLETED as the satapkt_reason */
--- old/usr/src/uts/common/io/sata/impl/sata.c	2015-08-19 07:25:12.295720371 -0400
+++ new/usr/src/uts/common/io/sata/impl/sata.c	2015-08-19 07:25:12.302376108 -0400
@@ -6792,8 +6792,7 @@
 				scsi_hba_pkt_comp(scsipkt);
 			return;
 		} else if (rval == SATA_RETRY) {
-			delay(drv_usectohz(1000000 *
-			    DOWNLOAD_WAIT_INTERVAL_SECS));
+			delay(drv_sectohz(DOWNLOAD_WAIT_INTERVAL_SECS));
 			continue;
 		} else	/* failed - no reason to retry */
 			break;
--- old/usr/src/uts/common/io/sbp2/sbp2.c	2015-08-19 07:25:12.964253181 -0400
+++ new/usr/src/uts/common/io/sbp2/sbp2.c	2015-08-19 07:25:12.970083780 -0400
@@ -939,7 +939,7 @@
 	task->ts_time_start = gethrtime();
 	if (task->ts_timeout > 0) {
 		task->ts_timeout_id = timeout(sbp2_task_timeout, task,
-		    task->ts_timeout * drv_usectohz(1000000));
+		    drv_sectohz(task->ts_timeout));
 	}
 
 	/* notify fetch agent */
--- old/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c	2015-08-19 07:25:13.162270439 -0400
+++ new/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c	2015-08-19 07:25:13.168601827 -0400
@@ -10059,7 +10059,7 @@
 	if (mpt->m_ncmds) {
 		mpt->m_softstate |= MPTSAS_SS_DRAINING;
 		mpt->m_quiesce_timeid = timeout(mptsas_ncmds_checkdrain,
-		    mpt, (MPTSAS_QUIESCE_TIMEOUT * drv_usectohz(1000000)));
+		    mpt, drv_sectohz(MPTSAS_QUIESCE_TIMEOUT));
 		if (cv_wait_sig(&mpt->m_cv, &mpt->m_mutex) == 0) {
 			/*
 			 * Quiesce has been interrupted
@@ -10134,8 +10134,7 @@
 			}
 
 			mpt->m_quiesce_timeid = timeout(mptsas_ncmds_checkdrain,
-			    mpt, (MPTSAS_QUIESCE_TIMEOUT *
-			    drv_usectohz(1000000)));
+			    mpt, drv_sectohz(MPTSAS_QUIESCE_TIMEOUT));
 		}
 	}
 	mutex_exit(&mpt->m_mutex);
@@ -13631,7 +13630,7 @@
 			goto out;
 		}
 		NDBG20(("The GUID is not ready, retry..."));
-		delay(1 * drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		goto inq83_retry;
 	}
 out:
@@ -14930,7 +14929,7 @@
 			 * to retry inquiry page 0x83 and get GUID.
 			 */
 			NDBG20(("Not well formed devid, retry..."));
-			delay(1 * drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			continue;
 		} else {
 			mptsas_log(mpt, CE_WARN, "!Encode devid failed for "
--- old/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c	2015-08-19 07:25:13.727044305 -0400
+++ new/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c	2015-08-19 07:25:13.732493247 -0400
@@ -1403,7 +1403,7 @@
 
 	rvalue = 0;
 	(void) cv_reltimedwait(&mpt->m_fw_cv, &mpt->m_mutex,
-	    drv_usectohz(60 * MICROSEC), TR_CLOCK_TICK);
+	    drv_sectohz(60), TR_CLOCK_TICK);
 	if (!(cmd->cmd_flags & CFLAG_FINISHED)) {
 		mpt->m_softstate &= ~MPTSAS_SS_MSG_UNIT_RESET;
 		if ((mptsas_restart_ioc(mpt)) == DDI_FAILURE) {
--- old/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c	2015-08-19 07:25:13.948577092 -0400
+++ new/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c	2015-08-19 07:25:13.954222110 -0400
@@ -2628,7 +2628,7 @@
 				if (rval == SCSI_SENSE_NOT_READY) {
 					max_retry = vhci_prout_not_ready_retry;
 					retry = nr_retry++;
-					delay(1*drv_usectohz(1000000));
+					delay(drv_sectohz(1));
 				} else {
 					/* chk for state change and update */
 					if (rval == SCSI_SENSE_STATE_CHANGED) {
@@ -5337,7 +5337,7 @@
 	    "%d cmds pending on path: 0x%p\n", svp->svp_cmds, (void *)pip));
 	while (svp->svp_cmds != 0) {
 		if (cv_reltimedwait(&svp->svp_cv, &svp->svp_mutex,
-		    drv_usectohz(vhci_path_quiesce_timeout * 1000000),
+		    drv_sectohz(vhci_path_quiesce_timeout),
 		    TR_CLOCK_TICK) == -1) {
 			/*
 			 * The timeout time reached without the condition
@@ -5371,7 +5371,7 @@
 				VHCI_DEBUG(1, (CE_NOTE, NULL,
 				    "!vhci_pathinfo_offline (pip:%p):"
 				    "reset failed, retrying\n", (void *)pip));
-				delay(1*drv_usectohz(1000000));
+				delay(drv_sectohz(1));
 				if (vhci_recovery_reset(svp->svp_svl,
 				    &svp->svp_psd->sd_address, TRUE,
 				    VHCI_DEPTH_TARGET) == 0) {
@@ -7511,7 +7511,7 @@
 		mutex_enter(&svp->svp_mutex);
 		while (svp->svp_cmds != 0) {
 			if (cv_reltimedwait(&svp->svp_cv, &svp->svp_mutex,
-			    drv_usectohz(vhci_path_quiesce_timeout * 1000000),
+			    drv_sectohz(vhci_path_quiesce_timeout),
 			    TR_CLOCK_TICK) == -1) {
 				mutex_exit(&svp->svp_mutex);
 				mdi_rele_path(pip);
@@ -8359,7 +8359,7 @@
 		VHCI_DEBUG(1, (CE_NOTE, NULL, "vhci_uscsi_send_sense: "
 		    "transport busy, setting timeout."));
 		vhci_restart_timeid = timeout(vhci_uscsi_restart_sense, rqpkt,
-		    (drv_usectohz(5 * 1000000)));
+		    drv_sectohz(5));
 		break;
 	default:
 		VHCI_DEBUG(1, (CE_NOTE, NULL, "vhci_uscsi_send_sense: "
--- old/usr/src/uts/common/io/scsi/impl/scsi_hba.c	2015-08-19 07:25:14.383426879 -0400
+++ new/usr/src/uts/common/io/scsi/impl/scsi_hba.c	2015-08-19 07:25:14.389827567 -0400
@@ -5708,7 +5708,7 @@
 	scsi_hba_barrier_tran_tgt_free(probe);
 	nb = kmem_alloc(sizeof (struct scsi_hba_barrier), KM_SLEEP);
 	mutex_enter(&scsi_hba_barrier_mutex);
-	endtime = ddi_get_lbolt() + drv_usectohz(seconds * MICROSEC);
+	endtime = ddi_get_lbolt() + drv_sectohz(seconds);
 	for (bp = &scsi_hba_barrier_list; (b = *bp) != NULL;
 	    bp = &b->barrier_next)
 		if (b->barrier_endtime > endtime)
@@ -6211,7 +6211,7 @@
 		mutex_enter(&DEVI(self)->devi_lock);
 		(void) cv_timedwait(&DEVI(self)->devi_cv,
 		    &DEVI(self)->devi_lock,
-		    ddi_get_lbolt() + drv_usectohz(MICROSEC));
+		    ddi_get_lbolt() + drv_sectohz(1));
 		mutex_exit(&DEVI(self)->devi_lock);
 		scsi_hba_devi_enter(self, circp);
 	}
--- old/usr/src/uts/common/io/scsi/impl/scsi_watch.c	2015-08-19 07:25:14.797866431 -0400
+++ new/usr/src/uts/common/io/scsi/impl/scsi_watch.c	2015-08-19 07:25:14.803659992 -0400
@@ -656,7 +656,7 @@
 	struct scsi_watch_request	*swr, *next;
 	clock_t				last_delay = 0;
 	clock_t				next_delay = 0;
-	clock_t				onesec = drv_usectohz(1000000);
+	clock_t				onesec = drv_sectohz(1);
 	clock_t				exit_delay = 60 * onesec;
 
 	SW_DEBUG((dev_info_t *)NULL, sw_label, SCSI_DEBUG,
--- old/usr/src/uts/common/io/scsi/targets/sd.c	2015-08-19 07:25:14.977891759 -0400
+++ new/usr/src/uts/common/io/scsi/targets/sd.c	2015-08-19 07:25:14.984553677 -0400
@@ -6214,7 +6214,7 @@
 	 * SD_WAIT_CMDS_COMPLETE seconds before failing the DDI_SUSPEND.
 	 */
 	wait_cmds_complete = ddi_get_lbolt() +
-	    (sd_wait_cmds_complete * drv_usectohz(1000000));
+	    drv_sectohz(sd_wait_cmds_complete);
 
 	while (un->un_ncmds_in_transport != 0) {
 		/*
@@ -6847,7 +6847,7 @@
 			if (un->un_pm_timeid == NULL) {
 				un->un_pm_timeid =
 				    timeout(sd_pm_timeout_handler,
-				    un, intvlp * drv_usectohz(1000000));
+				    un, drv_sectohz(intvlp));
 				mutex_exit(&un->un_pm_mutex);
 				(void) pm_busy_component(SD_DEVINFO(un), 0);
 			} else {
--- old/usr/src/uts/common/io/scsi/targets/st.c	2015-08-19 07:25:15.918061670 -0400
+++ new/usr/src/uts/common/io/scsi/targets/st.c	2015-08-19 07:25:15.924063521 -0400
@@ -1474,7 +1474,7 @@
 		 */
 		wait_cmds_complete = ddi_get_lbolt();
 		wait_cmds_complete +=
-		    st_wait_cmds_complete * drv_usectohz(1000000);
+		    drv_sectohz(st_wait_cmds_complete);
 		while (un->un_ncmds || un->un_quef ||
 		    (un->un_state == ST_STATE_RESOURCE_WAIT)) {
 
@@ -6495,7 +6495,7 @@
 				scsi_log(ST_DEVINFO, st_label, SCSI_DEBUG,
 				    "Sending delayed start to st_runout()\n");
 				mutex_exit(ST_MUTEX);
-				(void) timeout(fnc, un, drv_usectohz(1000000));
+				(void) timeout(fnc, un, drv_sectohz(1));
 				mutex_enter(ST_MUTEX);
 			}
 			return;
@@ -17616,7 +17616,7 @@
 	do {
 		if (rval != 0) {
 			mutex_exit(ST_MUTEX);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 			mutex_enter(ST_MUTEX);
 		}
 		rval = st_rcmd(un, SCMD_TEST_UNIT_READY, 0, SYNC_CMD);
--- old/usr/src/uts/common/io/sfe/sfe.c	2015-08-19 07:25:16.548507684 -0400
+++ new/usr/src/uts/common/io/sfe/sfe.c	2015-08-19 07:25:16.553869639 -0400
@@ -78,7 +78,7 @@
 /*
  * Useful macros and typedefs
  */
-#define	ONESEC		(drv_usectohz(1*1000000))
+#define	ONESEC		drv_sectohz(1)
 #define	ROUNDUP2(x, a)	(((x) + (a) - 1) & ~((a) - 1))
 
 /*
--- old/usr/src/uts/common/io/sfe/sfe_util.c	2015-08-19 07:25:16.756319258 -0400
+++ new/usr/src/uts/common/io/sfe/sfe_util.c	2015-08-19 07:25:16.762052569 -0400
@@ -4991,7 +4991,7 @@
 		 */
 		dp->intr_watcher_id =
 		    timeout((void (*)(void *))gem_intr_watcher,
-		    (void *)dp, drv_usectohz(3*1000000));
+		    (void *)dp, drv_sectohz(3));
 	}
 
 	/* link this device to dev_info */
@@ -5204,7 +5204,7 @@
 			 */
 			dp->intr_watcher_id =
 			    timeout((void (*)(void *))gem_intr_watcher,
-			    (void *)dp, drv_usectohz(3*1000000));
+			    (void *)dp, drv_sectohz(3));
 		}
 
 		/* restart mii link watcher */
--- old/usr/src/uts/common/io/sfe/sfe_util.h	2015-08-19 07:25:17.035165600 -0400
+++ new/usr/src/uts/common/io/sfe/sfe_util.h	2015-08-19 07:25:17.040751589 -0400
@@ -47,9 +47,9 @@
 
 #define	GEM_NAME_LEN	32
 
-#define	GEM_TX_TIMEOUT		(drv_usectohz(5*1000000))
-#define	GEM_TX_TIMEOUT_INTERVAL	(drv_usectohz(1*1000000))
-#define	GEM_LINK_WATCH_INTERVAL	(drv_usectohz(1*1000000))	/* 1 sec */
+#define	GEM_TX_TIMEOUT		drv_sectohz(5)
+#define	GEM_TX_TIMEOUT_INTERVAL	drv_sectohz(1)
+#define	GEM_LINK_WATCH_INTERVAL	drv_sectohz(1)
 
 /* general return code */
 #define	GEM_SUCCESS	0
--- old/usr/src/uts/common/io/skd/skd.c	2015-08-19 07:25:17.198273433 -0400
+++ new/usr/src/uts/common/io/skd/skd.c	2015-08-19 07:25:17.204141787 -0400
@@ -217,7 +217,7 @@
 	 * drv_usectohz() is a function, so can't initialize it at
 	 * instantiation.
 	 */
-	skd_timer_ticks = drv_usectohz(1000000);
+	skd_timer_ticks = drv_sectohz(1);
 
 	Dcmn_err(CE_NOTE,
 	    "<# Installing skd Driver dbg-lvl=%d %s %x>",
@@ -2893,7 +2893,7 @@
 	mutex_enter(&skdev->skd_internalio_mutex);
 	while (skdev->sync_done == 0) {
 		cur_ticks = ddi_get_lbolt();
-		tmo = cur_ticks + drv_usectohz(1000000 * secs);
+		tmo = cur_ticks + drv_sectohz(secs);
 		if (cv_timedwait(&skdev->cv_waitq,
 		    &skdev->skd_internalio_mutex, tmo) == -1) {
 			/* Oops - timed out */
@@ -4520,7 +4520,7 @@
 
 	while (skdev->gendisk_on == 0) {
 		cur_ticks = ddi_get_lbolt();
-		tmo = cur_ticks + drv_usectohz(MICROSEC);
+		tmo = cur_ticks + drv_sectohz(1);
 		if (cv_timedwait(&skdev->cv_waitq,
 		    &skdev->skd_internalio_mutex, tmo) == -1) {
 			/* Oops - timed out */
--- old/usr/src/uts/common/io/srn.c	2015-08-19 07:25:17.473404862 -0400
+++ new/usr/src/uts/common/io/srn.c	2015-08-19 07:25:17.478631380 -0400
@@ -580,7 +580,7 @@
 			    "event %x\n", clone, event))
 			if (cv_timedwait(&srn_clones_cv[clone],
 			    &srn_clone_lock, ddi_get_lbolt() +
-			    drv_usectohz(srn_timeout * 1000000)) == -1) {
+			    drv_sectohz(srn_timeout)) == -1) {
 				/*
 				 * Client didn't respond, mark it as faulted
 				 * and continue as if a regular signal.
--- old/usr/src/uts/common/io/usb/clients/usbser/usbser.c	2015-08-19 07:25:17.636333645 -0400
+++ new/usr/src/uts/common/io/usb/clients/usbser/usbser.c	2015-08-19 07:25:17.642142563 -0400
@@ -1769,7 +1769,7 @@
 	 * data has been sent over USB. To be continued in the next comment...
 	 */
 	until = ddi_get_lbolt() +
-	    drv_usectohz(USBSER_WQ_DRAIN_TIMEOUT * 1000000);
+	    drv_sectohz(USBSER_WQ_DRAIN_TIMEOUT);
 
 	while ((pp->port_wq_data_cnt > 0) && USBSER_PORT_IS_BUSY(pp)) {
 		if ((rval = cv_timedwait_sig(&pp->port_act_cv, &pp->port_mutex,
--- old/usr/src/uts/common/io/usb/clients/usbser/usbser_keyspan/keyspan_dsd.c	2015-08-19 07:25:17.868720472 -0400
+++ new/usr/src/uts/common/io/usb/clients/usbser/usbser_keyspan/keyspan_dsd.c	2015-08-19 07:25:17.874234579 -0400
@@ -2530,7 +2530,7 @@
 
 	USB_DPRINTF_L4(DPRINT_OUT_DATA, kp->kp_lh, "keyspan_wait_tx_drain:"
 	    "timeout = %d", timeout);
-	until = ddi_get_lbolt() + drv_usectohz(1000000 * timeout);
+	until = ddi_get_lbolt() + drv_sectohz(timeout);
 
 	while (kp->kp_tx_mp && !over) {
 		if (timeout > 0) {
--- old/usr/src/uts/common/io/usb/hcd/ehci/ehci_isoch.c	2015-08-19 07:25:18.097750302 -0400
+++ new/usr/src/uts/common/io/usb/hcd/ehci/ehci_isoch.c	2015-08-19 07:25:18.103365141 -0400
@@ -274,7 +274,7 @@
 	}
 
 	(void) cv_reltimedwait(&pp->pp_xfer_cmpl_cv, &ehcip->ehci_int_mutex,
-	    drv_usectohz(EHCI_XFER_CMPL_TIMEWAIT * 1000000), TR_CLOCK_TICK);
+	    drv_sectohz(EHCI_XFER_CMPL_TIMEWAIT), TR_CLOCK_TICK);
 
 	if (pp->pp_itw_head) {
 		USB_DPRINTF_L2(PRINT_MASK_LISTS, ehcip->ehci_log_hdl,
--- old/usr/src/uts/common/io/usb/hcd/ehci/ehci_xfer.c	2015-08-19 07:25:18.282021218 -0400
+++ new/usr/src/uts/common/io/usb/hcd/ehci/ehci_xfer.c	2015-08-19 07:25:18.287637850 -0400
@@ -3394,7 +3394,7 @@
 	 */
 	if ((!pp->pp_timer_id) && (pp->pp_timeout_list)) {
 		pp->pp_timer_id = timeout(ehci_xfer_timeout_handler,
-		    (void *)(pp->pp_pipe_handle), drv_usectohz(1000000));
+		    (void *)(pp->pp_pipe_handle), drv_sectohz(1));
 	}
 }
 
@@ -3800,7 +3800,7 @@
 	}
 
 	(void) cv_reltimedwait(&pp->pp_xfer_cmpl_cv, &ehcip->ehci_int_mutex,
-	    drv_usectohz(EHCI_XFER_CMPL_TIMEWAIT * 1000000), TR_CLOCK_TICK);
+	    drv_sectohz(EHCI_XFER_CMPL_TIMEWAIT), TR_CLOCK_TICK);
 
 	if (pp->pp_count_done_qtds) {
 
--- old/usr/src/uts/common/io/usb/hcd/openhci/ohci.c	2015-08-19 07:25:18.535590679 -0400
+++ new/usr/src/uts/common/io/usb/hcd/openhci/ohci.c	2015-08-19 07:25:18.541748886 -0400
@@ -1677,7 +1677,7 @@
 	ohcip->ohci_hc_soft_state = OHCI_CTLR_OPERATIONAL_STATE;
 
 	/* Get the number of clock ticks to wait */
-	sof_time_wait = drv_usectohz(OHCI_MAX_SOF_TIMEWAIT * 1000000);
+	sof_time_wait = drv_sectohz(OHCI_MAX_SOF_TIMEWAIT);
 
 	/* Clear ohci_sof_flag indicating waiting for SOF interrupt */
 	ohcip->ohci_sof_flag = B_FALSE;
@@ -7512,7 +7512,7 @@
 	 */
 	if ((!ohcip->ohci_timer_id) && (ohcip->ohci_timeout_list)) {
 		ohcip->ohci_timer_id = timeout(ohci_xfer_timeout_handler,
-		    (void *)ohcip, drv_usectohz(1000000));
+		    (void *)ohcip, drv_sectohz(1));
 	}
 }
 
@@ -9951,7 +9951,7 @@
 	/* Start the global timer */
 	if (xfer_timer_id) {
 		ohcip->ohci_timer_id = timeout(ohci_xfer_timeout_handler,
-		    (void *)ohcip, drv_usectohz(1000000));
+		    (void *)ohcip, drv_sectohz(1));
 	}
 
 	return (USB_SUCCESS);
@@ -10204,7 +10204,7 @@
 	}
 
 	/* Get the number of clock ticks to wait */
-	sof_time_wait = drv_usectohz(OHCI_MAX_SOF_TIMEWAIT * 1000000);
+	sof_time_wait = drv_sectohz(OHCI_MAX_SOF_TIMEWAIT);
 
 	sof_wait_count = 0;
 
@@ -10488,7 +10488,7 @@
 	}
 
 	(void) cv_reltimedwait(&pp->pp_xfer_cmpl_cv, &ohcip->ohci_int_mutex,
-	    drv_usectohz(OHCI_XFER_CMPL_TIMEWAIT * 1000000), TR_CLOCK_TICK);
+	    drv_sectohz(OHCI_XFER_CMPL_TIMEWAIT), TR_CLOCK_TICK);
 
 	if (pp->pp_count_done_tds) {
 
--- old/usr/src/uts/common/io/usb/hcd/uhci/uhci.c	2015-08-19 07:25:18.962879283 -0400
+++ new/usr/src/uts/common/io/usb/hcd/uhci/uhci.c	2015-08-19 07:25:18.968242810 -0400
@@ -420,7 +420,7 @@
 	 * On NCR system,  the driver seen  failure of some commands
 	 * while booting. This delay mysteriously solved the problem.
 	 */
-	delay(drv_usectohz(uhci_attach_wait*1000000));
+	delay(drv_sectohz(uhci_attach_wait));
 #endif
 
 	/*
--- old/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c	2015-08-19 07:25:19.181632137 -0400
+++ new/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c	2015-08-19 07:25:19.188237878 -0400
@@ -1319,7 +1319,7 @@
 			break;
 		}
 		mutex_exit(&scsa2usbp->scsa2usb_mutex);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&scsa2usbp->scsa2usb_mutex);
 	}
 	mutex_exit(&scsa2usbp->scsa2usb_mutex);
@@ -5453,7 +5453,7 @@
 			break;
 		}
 		mutex_exit(&scsa2usbp->scsa2usb_mutex);
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		mutex_enter(&scsa2usbp->scsa2usb_mutex);
 	}
 	mutex_exit(&scsa2usbp->scsa2usb_mutex);
--- old/usr/src/uts/common/io/usb/usba/hubdi.c	2015-08-19 07:25:19.505480548 -0400
+++ new/usr/src/uts/common/io/usb/usba/hubdi.c	2015-08-19 07:25:19.511365268 -0400
@@ -8605,7 +8605,7 @@
 static int
 hubd_wait_for_hotplug_exit(hubd_t *hubd)
 {
-	clock_t		until = drv_usectohz(1000000);
+	clock_t		until = drv_sectohz(1);
 	int		rval;
 
 	ASSERT(mutex_owned(HUBD_MUTEX(hubd)));
@@ -8754,7 +8754,7 @@
 				if (rval == USB_SUCCESS)
 					break;
 
-				delay(drv_usectohz(1000000)); /* 1s */
+				delay(drv_sectohz(1));
 			}
 		}
 
--- old/usr/src/uts/common/io/vioblk/vioblk.c	2015-08-19 07:25:19.866170348 -0400
+++ new/usr/src/uts/common/io/vioblk/vioblk.c	2015-08-19 07:25:19.871770952 -0400
@@ -462,7 +462,7 @@
 	int ret;
 	bd_xfer_t xfer;
 
-	deadline = ddi_get_lbolt() + (clock_t)drv_usectohz(3 * 1000000);
+	deadline = ddi_get_lbolt() + drv_sectohz(3);
 	(void) memset(&xfer, 0, sizeof (bd_xfer_t));
 	xfer.x_nblks = 1;
 
--- old/usr/src/uts/common/io/xge/drv/xgell.h	2015-08-19 07:25:20.043728880 -0400
+++ new/usr/src/uts/common/io/xge/drv/xgell.h	2015-08-19 07:25:20.049212153 -0400
@@ -145,7 +145,7 @@
 #define	XGELL_RX_PKT_BURST			32
 
 /* About 1s */
-#define	XGE_DEV_POLL_TICKS			drv_usectohz(1000000)
+#define	XGE_DEV_POLL_TICKS			drv_sectohz(1)
 
 #define	XGELL_LSO_MAXLEN			65535
 #define	XGELL_CONF_ENABLE_BY_DEFAULT		1
--- old/usr/src/uts/common/os/ddi.c	2015-08-19 07:25:20.205804913 -0400
+++ new/usr/src/uts/common/os/ddi.c	2015-08-19 07:25:20.211374198 -0400
@@ -26,6 +26,9 @@
  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
+/*
+ * Copyright 2015 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
+ */
 
 /*
  * UNIX Device Driver Interface functions
@@ -462,6 +465,21 @@
 	return (USEC_TO_TICK_ROUNDUP(microsecs));
 }
 
+/*
+ * Convert from seconds to system time units (hz).
+ *
+ * If secs <= 0, return 0.
+ * Otherwise, convert seconds to ticks, rounding up.
+ */
+clock_t
+drv_sectohz(clock_t secs)
+{
+	if (secs <= 0)
+		return (0);
+
+	return (SEC_TO_TICK(secs));
+}
+
 #ifdef	sun
 /*
  * drv_usecwait implemented in each architecture's machine
--- old/usr/src/uts/common/os/ddi_intr_irm.c	2015-08-19 07:25:20.386522360 -0400
+++ new/usr/src/uts/common/os/ddi_intr_irm.c	2015-08-19 07:25:20.392317150 -0400
@@ -853,7 +853,7 @@
 	for (;;) {
 
 		/* Compute the delay interval */
-		interval = drv_usectohz(irm_balance_delay * 1000000);
+		interval = drv_sectohz(irm_balance_delay);
 
 		/* Wait one interval, or until there are waiters */
 		if ((interval > 0) &&
--- old/usr/src/uts/common/os/devcache.c	2015-08-19 07:25:20.571286585 -0400
+++ new/usr/src/uts/common/os/devcache.c	2015-08-19 07:25:20.577237283 -0400
@@ -176,7 +176,7 @@
 #define	NVPFLUSH_DELAY		10
 #define	NVPDAEMON_IDLE_TIME	60
 
-#define	TICKS_PER_SECOND	(drv_usectohz(1000000))
+#define	TICKS_PER_SECOND	drv_sectohz(1)
 
 /*
  * Tunables
--- old/usr/src/uts/common/os/devcfg.c	2015-08-19 07:25:20.749255787 -0400
+++ new/usr/src/uts/common/os/devcfg.c	2015-08-19 07:25:20.755227957 -0400
@@ -4304,7 +4304,7 @@
 
 		/* do a sleeping wait for one second */
 		ASSERT(!servicing_interrupt());
-		delay(drv_usectohz(MICROSEC));
+		delay(drv_sectohz(1));
 	}
 }
 
--- old/usr/src/uts/common/os/devid_cache.c	2015-08-19 07:25:21.122259587 -0400
+++ new/usr/src/uts/common/os/devid_cache.c	2015-08-19 07:25:21.127654723 -0400
@@ -369,7 +369,7 @@
 		}
 		if (devid_discovery_secs > 0) {
 			if ((ddi_get_lbolt() - devid_last_discovery) >
-			    drv_usectohz(devid_discovery_secs * MICROSEC)) {
+			    drv_sectohz(devid_discovery_secs)) {
 				return (1);
 			}
 		}
--- old/usr/src/uts/common/os/modctl.c	2015-08-19 07:25:21.297330924 -0400
+++ new/usr/src/uts/common/os/modctl.c	2015-08-19 07:25:21.303147675 -0400
@@ -3922,7 +3922,7 @@
 		 * the default for a non-DEBUG kernel.
 		 */
 		if (mod_uninstall_interval) {
-			ticks = drv_usectohz(mod_uninstall_interval * 1000000);
+			ticks = drv_sectohz(mod_uninstall_interval);
 			(void) cv_reltimedwait(&mod_uninstall_cv,
 			    &mod_uninstall_lock, ticks, TR_CLOCK_TICK);
 		} else {
--- old/usr/src/uts/common/os/sunmdi.c	2015-08-19 07:25:21.561030330 -0400
+++ new/usr/src/uts/common/os/sunmdi.c	2015-08-19 07:25:21.566746511 -0400
@@ -116,7 +116,7 @@
 taskq_t				*mdi_taskq;
 static uint_t			mdi_taskq_n_threads = MDI_TASKQ_N_THREADS;
 
-#define	TICKS_PER_SECOND	(drv_usectohz(1000000))
+#define	TICKS_PER_SECOND	drv_sectohz(1)
 
 /*
  * The data should be "quiet" for this interval (in seconds) before the
@@ -3200,7 +3200,7 @@
 		    MDI_PI(pip)->pi_ref_cnt,
 		    mdi_pi_spathname(pip), (void *)pip));
 		if (cv_reltimedwait(&MDI_PI(pip)->pi_ref_cv,
-		    &MDI_PI(pip)->pi_mutex, drv_usectohz(60 * 1000000),
+		    &MDI_PI(pip)->pi_mutex, drv_sectohz(60),
 		    TR_CLOCK_TICK) == -1) {
 			/*
 			 * The timeout time reached without ref_cnt being zero
@@ -3866,7 +3866,7 @@
 		    MDI_PI(pip)->pi_ref_cnt, mdi_pi_spathname(pip),
 		    (void *)pip));
 		if (cv_reltimedwait(&MDI_PI(pip)->pi_ref_cv,
-		    &MDI_PI(pip)->pi_mutex, drv_usectohz(60 * 1000000),
+		    &MDI_PI(pip)->pi_mutex, drv_sectohz(60),
 		    TR_CLOCK_TICK) == -1) {
 			/*
 			 * The timeout time reached without ref_cnt being zero
--- old/usr/src/uts/common/rpc/clnt_cots.c	2015-08-19 07:25:21.948063552 -0400
+++ new/usr/src/uts/common/rpc/clnt_cots.c	2015-08-19 07:25:21.953427154 -0400
@@ -987,7 +987,7 @@
 			break;
 		}
 		if (delay_first == TRUE)
-			ticks = clnt_cots_min_tout * drv_usectohz(1000000);
+			ticks = drv_sectohz(clnt_cots_min_tout);
 		goto cots_done;
 	}
 
@@ -1119,7 +1119,7 @@
 		    ZONE_IS_SHUTTING_DOWN)) {
 
 			/* wait 1 sec for queue to drain */
-			if (clnt_delay(drv_usectohz(1000000),
+			if (clnt_delay(drv_sectohz(1),
 			    h->cl_nosignal) == EINTR) {
 				p->cku_err.re_errno = EINTR;
 				p->cku_err.re_status = RPC_INTR;
@@ -1183,7 +1183,7 @@
 			lwp->lwp_nostop++;
 
 		oldlbolt = ddi_get_lbolt();
-		timout = wait.tv_sec * drv_usectohz(1000000) +
+		timout = drv_sectohz(wait.tv_sec) +
 		    drv_usectohz(wait.tv_usec) + oldlbolt;
 		/*
 		 * Iterate until the call_status is changed to something
@@ -1232,8 +1232,7 @@
 				clock_t diff;
 
 				curlbolt = ddi_get_lbolt();
-				ticks = clnt_cots_min_tout *
-				    drv_usectohz(1000000);
+				ticks = drv_sectohz(clnt_cots_min_tout);
 				diff = curlbolt - oldlbolt;
 				if (diff < ticks) {
 					delay_first = TRUE;
@@ -1715,7 +1714,7 @@
 	 * until there is a state change on the connection.
 	 */
 
-	timout = waitp->tv_sec * drv_usectohz(1000000) +
+	timout = drv_sectohz(waitp->tv_sec) +
 	    drv_usectohz(waitp->tv_usec) + ddi_get_lbolt();
 
 	if (nosignal) {
@@ -2353,7 +2352,7 @@
 			cm_entry->x_needrel = FALSE;
 
 			connmgr_sndrel(cm_entry);
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 
 			mutex_enter(&connmgr_lock);
 		}
@@ -2469,7 +2468,7 @@
 			    "T_DISCON_REQ's ACK for connection %p\n",
 			    (void *)cm_entry);
 
-			timout = clnt_cots_min_conntout * drv_usectohz(1000000);
+			timout = drv_sectohz(clnt_cots_min_conntout);
 
 			/*
 			 * The TPI spec says that the T_DISCON_REQ
@@ -3708,7 +3707,7 @@
 	ASSERT(MUTEX_HELD(&clnt_pending_lock));
 	while (e->call_reply == NULL) {
 		if (waitp != NULL) {
-			timout = waitp->tv_sec * drv_usectohz(MICROSEC) +
+			timout = drv_sectohz(waitp->tv_sec) +
 			    drv_usectohz(waitp->tv_usec);
 			if (nosignal)
 				cv_stat = cv_reltimedwait(&e->call_cv,
--- old/usr/src/uts/common/rpc/clnt_rdma.c	2015-08-19 07:25:22.203624575 -0400
+++ new/usr/src/uts/common/rpc/clnt_rdma.c	2015-08-19 07:25:22.209050678 -0400
@@ -637,7 +637,7 @@
 		rw_exit(&rdma_lock);
 		p->cku_err.re_status = RPC_CANTSEND;
 		p->cku_err.re_errno = EIO;
-		ticks = clnt_rdma_min_delay * drv_usectohz(1000000);
+		ticks = drv_sectohz(clnt_rdma_min_delay);
 		if (h->cl_nosignal == TRUE) {
 			delay(ticks);
 		} else {
@@ -693,7 +693,7 @@
 			 * down or temporary resource failure. Delay before
 			 * returning to caller.
 			 */
-			ticks = clnt_rdma_min_delay * drv_usectohz(1000000);
+			ticks = drv_sectohz(clnt_rdma_min_delay);
 			p->cku_err.re_status = RPC_CANTCONNECT;
 			p->cku_err.re_errno = EIO;
 
--- old/usr/src/uts/common/rpc/rpcib.c	2015-08-19 07:25:22.387030987 -0400
+++ new/usr/src/uts/common/rpc/rpcib.c	2015-08-19 07:25:22.393032770 -0400
@@ -2187,7 +2187,7 @@
 	ASSERT(wd != NULL);
 	mutex_enter(&wd->sendwait_lock);
 	if (wd->status == (uint_t)SEND_WAIT) {
-		timout = drv_usectohz(SEND_WAIT_TIME * 1000000) +
+		timout = drv_sectohz(SEND_WAIT_TIME) +
 		    ddi_get_lbolt();
 
 		if (qp->mode == RIB_SERVER) {
@@ -2438,7 +2438,7 @@
 		 * Wait for RDMA_DONE from remote end
 		 */
 		cv_wait_ret = cv_reltimedwait(&rd->rdma_done_cv,
-		    &qp->rdlist_lock, drv_usectohz(REPLY_WAIT_TIME * 1000000),
+		    &qp->rdlist_lock, drv_sectohz(REPLY_WAIT_TIME),
 		    TR_CLOCK_TICK);
 
 		rdma_done_rm(qp, rd);
@@ -2686,7 +2686,7 @@
 		 */
 		if (rep->status == (uint_t)REPLY_WAIT) {
 			timout = ddi_get_lbolt() +
-			    drv_usectohz(REPLY_WAIT_TIME * 1000000);
+			    drv_sectohz(REPLY_WAIT_TIME);
 
 			while ((cv_wait_ret = cv_timedwait_sig(&rep->wait_cv,
 			    &qp->replylist_lock, timout)) > 0 &&
@@ -4281,7 +4281,7 @@
 				 */
 				cn->c_ref++;
 				timout =  ddi_get_lbolt() +
-				    drv_usectohz(CONN_WAIT_TIME * 1000000);
+				    drv_sectohz(CONN_WAIT_TIME);
 				while ((cv_stat = cv_timedwait_sig(&cn->c_cv,
 				    &cn->c_lock, timout)) > 0 &&
 				    cn->c_state == C_CONN_PEND)
--- old/usr/src/uts/common/rpc/sec_gss/rpcsec_gss.c	2015-08-19 07:25:22.673033951 -0400
+++ new/usr/src/uts/common/rpc/sec_gss/rpcsec_gss.c	2015-08-19 07:25:22.678458738 -0400
@@ -655,7 +655,7 @@
 				if (isrefresh &&
 				    call_res.gss_major == GSS_S_FAILURE) {
 
-					clock_t one_sec = drv_usectohz(1000000);
+					clock_t one_sec = drv_sectohz(1);
 
 					rpcsec_retry--;
 
--- old/usr/src/uts/common/sys/bscv_impl.h	2015-08-19 07:25:22.860560290 -0400
+++ new/usr/src/uts/common/sys/bscv_impl.h	2015-08-19 07:25:22.866012178 -0400
@@ -334,8 +334,8 @@
 #define	BSC_IMAGE_MAX_SIZE (0x20000 + sizeof (lom_prog_data_t))
 
 #define	BSC_PROBE_FAULT_LIMIT	8	/* Tries before declaring lom dead */
-#define	BSC_EVENT_POLL_NORMAL	(drv_usectohz(1000000))		/* 1 second */
-#define	BSC_EVENT_POLL_FAULTY	(drv_usectohz(10000000))	/* 10 second */
+#define	BSC_EVENT_POLL_NORMAL	drv_sectohz(1)
+#define	BSC_EVENT_POLL_FAULTY	drv_sectohz(10)
 
 #define	BSC_FAILURE_RETRY_LIMIT	5	/* Access retries before giving up */
 #define	BSC_ERASE_RETRY_LIMIT	5	/* Erase retries */
--- old/usr/src/uts/common/sys/ddi.h	2015-08-19 07:25:23.019258161 -0400
+++ new/usr/src/uts/common/sys/ddi.h	2015-08-19 07:25:23.024914843 -0400
@@ -21,6 +21,7 @@
  */
 /*
  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
+ * Copyright 2015 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
  *
  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
@@ -85,6 +86,7 @@
 extern void drv_usecwait(clock_t);
 extern clock_t drv_hztousec(clock_t);
 extern clock_t drv_usectohz(clock_t);
+extern clock_t drv_sectohz(clock_t);
 extern void delay(clock_t);
 extern void time_to_wait(clock_t *, clock_t);
 
--- old/usr/src/uts/common/sys/dktp/dadk.h	2015-08-19 07:25:23.176336234 -0400
+++ new/usr/src/uts/common/sys/dktp/dadk.h	2015-08-19 07:25:23.181781725 -0400
@@ -76,7 +76,7 @@
 /*
  * Parameters
  */
-#define	DADK_BSY_TIMEOUT	(drv_usectohz(5 * 1000000))
+#define	DADK_BSY_TIMEOUT	drv_sectohz(5)
 #define	DADK_IO_TIME		35
 #define	DADK_FLUSH_CACHE_TIME	60
 #define	DADK_RETRY_COUNT	5
--- old/usr/src/uts/common/sys/fcoe/fcoe_common.h	2015-08-19 07:25:23.330968683 -0400
+++ new/usr/src/uts/common/sys/fcoe/fcoe_common.h	2015-08-19 07:25:23.336271692 -0400
@@ -372,7 +372,7 @@
  * timestamp (golbal variable in sys/systm.h)
  */
 #define	CURRENT_CLOCK		(ddi_get_lbolt())
-#define	FCOE_SEC2TICK(x_sec)	(drv_usectohz((x_sec) * 1000000))
+#define	FCOE_SEC2TICK(x_sec)	drv_sectohz(x_sec)
 
 /*
  * Form/convert mod_hash_key from/to xch ID
--- old/usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h	2015-08-19 07:25:23.492646871 -0400
+++ new/usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h	2015-08-19 07:25:23.498168368 -0400
@@ -153,7 +153,7 @@
 
 /* Timeout timer counts in seconds (must greater than 1 second). */
 #define	USEC_PER_TICK		drv_hztousec(1)
-#define	TICKS_PER_SEC		drv_usectohz(1000000)
+#define	TICKS_PER_SEC		drv_sectohz(1)
 #define	QL_ONE_SEC_DELAY	1000000
 #define	QL_ONE_MSEC_DELAY	1000
 #define	TX_TIMEOUT		3*TICKS_PER_SEC
--- old/usr/src/uts/common/sys/ib/mgt/ibdm/ibdm_impl.h	2015-08-19 07:25:23.669016389 -0400
+++ new/usr/src/uts/common/sys/ib/mgt/ibdm/ibdm_impl.h	2015-08-19 07:25:23.675055798 -0400
@@ -335,7 +335,7 @@
 	void *callback_arg;
 } ibdm_saa_event_arg_t;
 
-#define	IBDM_TIMEOUT_VALUE(t)	(drv_usectohz(t * 1000000))
+#define	IBDM_TIMEOUT_VALUE(t)	drv_sectohz(t)
 
 #define	IBDM_OUT_IBMFMSG_MADHDR(msg)\
 		(msg->im_msgbufs_send.im_bufs_mad_hdr)
--- old/usr/src/uts/common/sys/scsi/targets/sddef.h	2015-08-19 07:25:23.829152216 -0400
+++ new/usr/src/uts/common/sys/scsi/targets/sddef.h	2015-08-19 07:25:23.834902130 -0400
@@ -1136,7 +1136,6 @@
  * Miscellaneous macros
  */
 
-#define	SD_USECTOHZ(x)			(drv_usectohz((x)*1000000))
 #define	SD_GET_PKT_STATUS(pktp)		((*(pktp)->pkt_scbp) & STATUS_MASK)
 
 #define	SD_BIOERROR(bp, errcode)					\
@@ -1316,11 +1315,10 @@
 #define	SD_THROTTLE_TRAN_BUSY		0
 #define	SD_THROTTLE_QFULL		1
 
-#define	SD_THROTTLE_RESET_INTERVAL	\
-	(sd_reset_throttle_timeout * drv_usectohz(1000000))
+#define	SD_THROTTLE_RESET_INTERVAL	drv_sectohz(sd_reset_throttle_timeout)
 
 #define	SD_QFULL_THROTTLE_RESET_INTERVAL	\
-	(sd_qfull_throttle_timeout * drv_usectohz(1000000))
+	drv_sectohz(sd_qfull_throttle_timeout)
 
 
 /*
@@ -1716,7 +1714,7 @@
 /*
  * 5 seconds is what we'll wait if we get a Busy Status back
  */
-#define	SD_BSY_TIMEOUT			(drv_usectohz(5 * 1000000))
+#define	SD_BSY_TIMEOUT			drv_sectohz(5)
 
 /*
  * 100 msec. is what we'll wait if we get Unit Attention.
@@ -1731,7 +1729,7 @@
 /*
  * 10s misaligned I/O warning message interval
  */
-#define	SD_RMW_MSG_PRINT_TIMEOUT	(drv_usectohz((clock_t)10000000))
+#define	SD_RMW_MSG_PRINT_TIMEOUT	drv_sectohz(10)
 
 /*
  * 100 msec. is what we'll wait for certain retries for fibre channel
--- old/usr/src/uts/common/sys/scsi/targets/sgendef.h	2015-08-19 07:25:24.042167741 -0400
+++ new/usr/src/uts/common/sys/scsi/targets/sgendef.h	2015-08-19 07:25:24.047530035 -0400
@@ -156,7 +156,7 @@
 /*
  * Time to wait before a retry for commands returning Busy Status
  */
-#define	SGEN_BSY_TIMEOUT	(drv_usectohz(5 * 1000000))
+#define	SGEN_BSY_TIMEOUT	drv_sectohz(5)
 #define	SGEN_IO_TIME		60		/* seconds */
 
 /*
--- old/usr/src/uts/common/sys/stmf.h	2015-08-19 07:25:24.224480135 -0400
+++ new/usr/src/uts/common/sys/stmf.h	2015-08-19 07:25:24.230567851 -0400
@@ -355,7 +355,7 @@
 /*
  * Common macros to simplify coding
  */
-#define	STMF_SEC2TICK(x_sec)	(drv_usectohz((x_sec) * 1000000))
+#define	STMF_SEC2TICK(x_sec)	drv_sectohz(x_sec)
 
 void stmf_trace(caddr_t ident, const char *fmt, ...);
 void *stmf_alloc(stmf_struct_id_t sid, int additional_size, int alloc_flags);
--- old/usr/src/uts/common/sys/usb/clients/audio/usb_ac/usb_ac.h	2015-08-19 07:25:24.397709232 -0400
+++ new/usr/src/uts/common/sys/usb/clients/audio/usb_ac/usb_ac.h	2015-08-19 07:25:24.403659121 -0400
@@ -322,7 +322,7 @@
 /*
  * delay before restoring state
  */
-#define	USB_AC_RESTORE_DELAY		drv_usectohz(1000000)
+#define	USB_AC_RESTORE_DELAY		drv_sectohz(1)
 
 /* value for acp_driver */
 #define	USB_AS_PLUMBED	1
--- old/usr/src/uts/common/sys/usb/hcd/uhci/uhcid.h	2015-08-19 07:25:24.557842358 -0400
+++ new/usr/src/uts/common/sys/usb/hcd/uhci/uhcid.h	2015-08-19 07:25:24.563288591 -0400
@@ -79,7 +79,7 @@
 #define	PCI_CONF_IOBASE		0x20
 #define	PCI_CONF_IOBASE_MASK	0xffe0
 
-#define	UHCI_ONE_SECOND		drv_usectohz(1000000)
+#define	UHCI_ONE_SECOND		drv_sectohz(1)
 #define	UHCI_ONE_MS		drv_usectohz(1000)
 #define	UHCI_32_MS		drv_usectohz(32*1000)
 #define	UHCI_256_MS		drv_usectohz(256*1000)
--- old/usr/src/uts/i86pc/i86hvm/io/xpv/xpv_support.c	2015-08-19 07:25:24.722326422 -0400
+++ new/usr/src/uts/i86pc/i86hvm/io/xpv/xpv_support.c	2015-08-19 07:25:24.727954228 -0400
@@ -600,7 +600,7 @@
 	psignal(initpp, SIGPWR);
 
 	(void) timeout(xen_dirty_shutdown, arg,
-	    SHUTDOWN_TIMEOUT_SECS * drv_usectohz(MICROSEC));
+	    drv_sectohz(SHUTDOWN_TIMEOUT_SECS));
 }
 
 /*ARGSUSED*/
--- old/usr/src/uts/i86pc/io/tzmon/tzmon.c	2015-08-19 07:25:24.893272768 -0400
+++ new/usr/src/uts/i86pc/io/tzmon/tzmon.c	2015-08-19 07:25:24.898738503 -0400
@@ -588,7 +588,7 @@
 
 		/* Go back to sleep */
 		mutex_enter(&tzp->lock);
-		ticks = drv_usectohz(tzp->polling_period * 1000000);
+		ticks = drv_sectohz(tzp->polling_period);
 		if (ticks > 0)
 			(void) cv_reltimedwait(&zone_list_condvar,
 			    &tzp->lock, ticks, TR_CLOCK_TICK);
--- old/usr/src/uts/i86xpv/cpu/generic_cpu/gcpu_poll_xpv.c	2015-08-19 07:25:25.061048037 -0400
+++ new/usr/src/uts/i86xpv/cpu/generic_cpu/gcpu_poll_xpv.c	2015-08-19 07:25:25.066634116 -0400
@@ -123,7 +123,7 @@
 	    gcpu_xpv_mch_poll_interval_secs != 0) {
 		gcpu_xpv_mch_poll_timeoutid = timeout(gcpu_xpv_mch_poll,
 		    GCPU_XPV_MCH_POLL_REARM,
-		    drv_usectohz(gcpu_xpv_mch_poll_interval_secs * MICROSEC));
+		    drv_sectohz(gcpu_xpv_mch_poll_interval_secs));
 	}
 }
 
@@ -183,8 +183,7 @@
 		if (gcpu_xpv_mch_poll_interval_secs != 0) {
 			gcpu_xpv_mch_poll_timeoutid =
 			    timeout(gcpu_xpv_mch_poll, GCPU_XPV_MCH_POLL_REARM,
-			    drv_usectohz(gcpu_xpv_mch_poll_interval_secs *
-			    MICROSEC));
+			    drv_sectohz(gcpu_xpv_mch_poll_interval_secs));
 		}
 
 		/*
--- old/usr/src/uts/i86xpv/os/xen_machdep.c	2015-08-19 07:25:25.217576427 -0400
+++ new/usr/src/uts/i86xpv/os/xen_machdep.c	2015-08-19 07:25:25.223088323 -0400
@@ -800,7 +800,7 @@
 	psignal(initpp, SIGPWR);
 
 	(void) timeout(xen_dirty_shutdown, arg,
-	    SHUTDOWN_TIMEOUT_SECS * drv_usectohz(MICROSEC));
+	    drv_sectohz(SHUTDOWN_TIMEOUT_SECS));
 }
 
 /*ARGSUSED*/
--- old/usr/src/uts/intel/io/dktp/disk/cmdk.c	2015-08-19 07:25:25.409325186 -0400
+++ new/usr/src/uts/intel/io/dktp/disk/cmdk.c	2015-08-19 07:25:25.414708866 -0400
@@ -630,7 +630,7 @@
 
 	/* need to wait a while */
 	while (dadk_getcmds(DKTP_DATA) != 0) {
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 		if (count > 60) {
 			dkp->dk_flag &= ~CMDK_SUSPEND;
 			cv_broadcast(&dkp->dk_suspend_cv);
--- old/usr/src/uts/intel/io/dktp/hba/ghd/ghd_timer.c	2015-08-19 07:25:25.611810183 -0400
+++ new/usr/src/uts/intel/io/dktp/hba/ghd/ghd_timer.c	2015-08-19 07:25:25.617304767 -0400
@@ -741,7 +741,7 @@
 	/*
 	 * determine default timeout value
 	 */
-	ghd_HZ = drv_usectohz(1000000);
+	ghd_HZ = drv_sectohz(1);
 	if (ticks == 0)
 		ticks = scsi_watchdog_tick * ghd_HZ;
 	tmrp->t_ticks = ticks;
--- old/usr/src/uts/intel/io/dnet/dnet_mii.c	2015-08-19 07:25:25.784167184 -0400
+++ new/usr/src/uts/intel/io/dnet/dnet_mii.c	2015-08-19 07:25:25.789572057 -0400
@@ -731,7 +731,7 @@
 	}
 	/* Check the ports every 5 seconds */
 	mac->portmon_timer = timeout((void (*)(void*))mii_portmon, (void *)mac,
-	    (clock_t)(5 * drv_usectohz(1000000)));
+	    drv_sectohz(5));
 	if (mac->lock)
 		mutex_exit(mac->lock);
 }
--- old/usr/src/uts/intel/io/heci/heci_data_structures.h	2015-08-19 07:25:25.957751020 -0400
+++ new/usr/src/uts/intel/io/heci/heci_data_structures.h	2015-08-19 07:25:25.963344893 -0400
@@ -211,7 +211,7 @@
 		&pos->member != (head);                                    \
 		pos = n, n = find_struct(n->member.list_next, type, member))
 
-#define	HZ		drv_usectohz(1000000)
+#define	HZ		drv_sectohz(1)
 /*
  * time to wait HECI become ready after init
  */
--- old/usr/src/uts/intel/io/ipmi/ipmi_kcs.c	2015-08-19 07:25:26.124209243 -0400
+++ new/usr/src/uts/intel/io/ipmi/ipmi_kcs.c	2015-08-19 07:25:26.129963477 -0400
@@ -195,7 +195,7 @@
 		status = kcs_wait_for_ibf(sc, 0);
 		if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_WRITE)
 			break;
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 	}
 
 	if (KCS_STATUS_STATE(status) != KCS_STATUS_STATE_WRITE)
--- old/usr/src/uts/intel/io/scsi/adapters/arcmsr/arcmsr.c	2015-08-19 07:25:26.286161201 -0400
+++ new/usr/src/uts/intel/io/scsi/adapters/arcmsr/arcmsr.c	2015-08-19 07:25:26.292335449 -0400
@@ -330,10 +330,10 @@
 		/* restart ccbs "timeout" watchdog */
 		acb->timeout_count = 0;
 		acb->timeout_id = timeout(arcmsr_ccbs_timeout, (caddr_t)acb,
-		    (ARCMSR_TIMEOUT_WATCH * drv_usectohz(1000000)));
+		    drv_sectohz(ARCMSR_TIMEOUT_WATCH));
 		acb->timeout_sc_id = timeout(arcmsr_devMap_monitor,
 		    (caddr_t)acb,
-		    (ARCMSR_DEV_MAP_WATCH * drv_usectohz(1000000)));
+		    drv_sectohz(ARCMSR_DEV_MAP_WATCH));
 		mutex_exit(&acb->acb_mutex);
 		return (DDI_SUCCESS);
 
@@ -2954,9 +2954,9 @@
 	acb->timeout_count = 0;
 	/* active ccbs "timeout" watchdog */
 	acb->timeout_id = timeout(arcmsr_ccbs_timeout, (caddr_t)acb,
-	    (ARCMSR_TIMEOUT_WATCH * drv_usectohz(1000000)));
+	    drv_sectohz(ARCMSR_TIMEOUT_WATCH));
 	acb->timeout_sc_id = timeout(arcmsr_devMap_monitor, (caddr_t)acb,
-	    (ARCMSR_DEV_MAP_WATCH * drv_usectohz(1000000)));
+	    drv_sectohz(ARCMSR_DEV_MAP_WATCH));
 
 	/* report device info */
 	ddi_report_dev(dev_info);
@@ -3162,8 +3162,7 @@
 			    ((acb->acb_flags & ACB_F_SCSISTOPADAPTER) == 0)) {
 				/* do pkt timeout check each 60 secs */
 				acb->timeout_id = timeout(arcmsr_ccbs_timeout,
-				    (void*)acb, (ARCMSR_TIMEOUT_WATCH *
-				    drv_usectohz(1000000)));
+				    (void*)acb, drv_sectohz(ARCMSR_TIMEOUT_WATCH));
 			}
 			mutex_exit(&acb->isr_mutex);
 			arcmsr_enable_allintr(acb, intmask_org);
@@ -3213,7 +3212,7 @@
 	    ((acb->acb_flags & ACB_F_SCSISTOPADAPTER) == 0)) {
 		/* do pkt timeout check each 60 secs */
 		acb->timeout_id = timeout(arcmsr_ccbs_timeout,
-		    (void*)acb, (ARCMSR_TIMEOUT_WATCH * drv_usectohz(1000000)));
+		    (void*)acb, drv_sectohz(ARCMSR_TIMEOUT_WATCH));
 	}
 	mutex_exit(&acb->isr_mutex);
 	arcmsr_enable_allintr(acb, intmask_org);
@@ -3431,7 +3430,7 @@
 	    ((acb->acb_flags & ACB_F_SCSISTOPADAPTER) == 0)) {
 		/* do pkt timeout check each 5 secs */
 		acb->timeout_id = timeout(arcmsr_devMap_monitor, (void*)acb,
-		    (ARCMSR_DEV_MAP_WATCH * drv_usectohz(1000000)));
+		    drv_sectohz(ARCMSR_DEV_MAP_WATCH));
 	}
 }
 
--- old/usr/src/uts/sparc/io/pciex/pcieb_sparc.c	2015-08-19 07:25:26.591665913 -0400
+++ new/usr/src/uts/sparc/io/pciex/pcieb_sparc.c	2015-08-19 07:25:26.596965484 -0400
@@ -500,7 +500,7 @@
 	    &mattr, &h) != DDI_SUCCESS)
 		return;
 	ddi_put32(h, (uint32_t *)((uchar_t *)mp + addr_reg_off), data);
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	printf("%s#%d: EEPROM StatusReg = %x, CRC = %x\n",
 	    ddi_driver_name(dip), ddi_get_instance(dip),
 	    ddi_get32(h, (uint32_t *)((uchar_t *)mp + addr_reg_off)),
@@ -509,7 +509,7 @@
 	/* prevent hot reset from propogating downstream. */
 	data = ddi_get32(h, (uint32_t *)((uchar_t *)mp + 0x1DC));
 	ddi_put32(h, (uint32_t *)((uchar_t *)mp + 0x1DC), data | 0x80000);
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 	printf("%s#%d: EEPROM 0x1DC prewrite=%x postwrite=%x\n",
 	    ddi_driver_name(dip), ddi_get_instance(dip), data,
 	    ddi_get32(h, (uint32_t *)((uchar_t *)mp + 0x1DC)));
--- old/usr/src/uts/sun/io/dada/targets/dad.c	2015-08-19 07:25:26.756552479 -0400
+++ new/usr/src/uts/sun/io/dada/targets/dad.c	2015-08-19 07:25:26.762336330 -0400
@@ -703,7 +703,7 @@
 		 */
 		wait_cmds_complete = ddi_get_lbolt();
 		wait_cmds_complete +=
-		    DCD_WAIT_CMDS_COMPLETE * drv_usectohz(1000000);
+		    drv_sectohz(DCD_WAIT_CMDS_COMPLETE);
 
 		while (un->un_ncmds) {
 			if (cv_timedwait(&un->un_disk_busy_cv,
--- old/usr/src/uts/sun/io/fd.c	2015-08-19 07:25:27.022744063 -0400
+++ new/usr/src/uts/sun/io/fd.c	2015-08-19 07:25:27.028582094 -0400
@@ -3789,7 +3789,7 @@
 	 */
 	if (csb->csb_opflags & CSB_OFTIMEIT) {
 		fdc->c_timeid = timeout(fdwatch, a,
-		    tosec * drv_usectohz(1000000));
+		    drv_sectohz(tosec));
 	}
 
 	FDERRPRINT(FDEP_L1, FDEM_EXEC,
@@ -4842,7 +4842,7 @@
 
 		local_lbolt = ddi_get_lbolt();
 		if (cv_timedwait(&fdc->c_iocv, &fdc->c_lolock,
-		    local_lbolt + drv_usectohz(1000000)) == -1) {
+		    local_lbolt + drv_sectohz(1)) == -1) {
 			return (-1);
 		}
 		break;
--- old/usr/src/uts/sun/io/scsi/adapters/fas.c	2015-08-19 07:25:27.340469691 -0400
+++ new/usr/src/uts/sun/io/scsi/adapters/fas.c	2015-08-19 07:25:27.346538917 -0400
@@ -994,8 +994,7 @@
 			fas_log(fas, CE_NOTE, "?scsi-watchdog-tick=%d\n",
 			    fas_scsi_watchdog_tick);
 		}
-		fas_tick = drv_usectohz((clock_t)
-		    fas_scsi_watchdog_tick * 1000000);
+		fas_tick = drv_sectohz((clock_t)fas_scsi_watchdog_tick);
 		IPRINTF2("fas scsi watchdog tick=%x, fas_tick=%lx\n",
 		    fas_scsi_watchdog_tick, fas_tick);
 		if (fas_timeout_id == 0) {
@@ -1365,7 +1364,7 @@
 	if (fas_check_outstanding(fas)) {
 		fas->f_softstate |= FAS_SS_DRAINING;
 		fas->f_quiesce_timeid = timeout(fas_ncmds_checkdrain,
-		    fas, (FAS_QUIESCE_TIMEOUT * drv_usectohz(1000000)));
+		    fas, drv_sectohz(FAS_QUIESCE_TIMEOUT));
 		if (cv_wait_sig(FAS_CV(fas), FAS_MUTEX(fas)) == 0) {
 			/*
 			 * quiesce has been interrupted.
@@ -1436,7 +1435,7 @@
 			fas_set_throttles(fas, 0, N_SLOTS, HOLD_THROTTLE);
 			IPRINTF("fas_drain: rescheduling timeout\n");
 			fas->f_quiesce_timeid = timeout(fas_ncmds_checkdrain,
-			    fas, (FAS_QUIESCE_TIMEOUT * drv_usectohz(1000000)));
+			    fas, drv_sectohz(FAS_QUIESCE_TIMEOUT));
 		}
 	}
 	mutex_exit(FAS_MUTEX(fas));
--- old/usr/src/uts/sun/io/scsi/adapters/sf.c	2015-08-19 07:25:27.727515499 -0400
+++ new/usr/src/uts/sun/io/scsi/adapters/sf.c	2015-08-19 07:25:27.733495119 -0400
@@ -786,8 +786,7 @@
 		 */
 		if (!sf_watchdog_init++) {
 			mutex_exit(&sf_global_mutex);
-			sf_watchdog_tick = sf_watchdog_timeout *
-			    drv_usectohz(1000000);
+			sf_watchdog_tick = drv_sectohz(sf_watchdog_timeout);
 			sf_watchdog_id = timeout(sf_watch,
 			    NULL, sf_watchdog_tick);
 		} else {
--- old/usr/src/uts/sun/sys/dada/targets/daddef.h	2015-08-19 07:25:28.070230313 -0400
+++ new/usr/src/uts/sun/sys/dada/targets/daddef.h	2015-08-19 07:25:28.075597110 -0400
@@ -317,7 +317,7 @@
  * 5 seconds is what we'll wait if we get a Busy Status back
  */
 
-#define	DCD_BSY_TIMEOUT		(drv_usectohz(5 * 1000000))
+#define	DCD_BSY_TIMEOUT		drv_sectohz(5)
 
 /*
  * Number of times we'll retry a normal operation.
--- old/usr/src/uts/sun/sys/fdreg.h	2015-08-19 07:25:28.231193326 -0400
+++ new/usr/src/uts/sun/sys/fdreg.h	2015-08-19 07:25:28.237043145 -0400
@@ -149,7 +149,7 @@
 #ifndef	_ASM
 #define	Moton_delay	(drv_usectohz(750000))		/* motor on delay */
 							/* 0.75 seconds */
-#define	Motoff_delay	(6 * drv_usectohz(1000000))	/* motor off delay */
+#define	Motoff_delay	drv_sectohz(6)		/* motor off delay */
 							/* 6 seconds */
 
 /* Macros to set and retrieve data from the controller registers */
--- old/usr/src/uts/sun4/io/px/px_ib.c	2015-08-19 07:25:28.390498983 -0400
+++ new/usr/src/uts/sun4/io/px/px_ib.c	2015-08-19 07:25:28.396108172 -0400
@@ -1066,7 +1066,7 @@
 	    (old_ih_p->ih_intr_flags & PX_INTR_PENDING)) {
 
 		/* Wait for one second */
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 
 		end_time = gethrtime() - start_time;
 		if (end_time > px_ib_msix_retarget_timeout) {
--- old/usr/src/uts/sun4u/cherrystone/os/cherrystone.c	2015-08-19 07:25:28.572105463 -0400
+++ new/usr/src/uts/sun4u/cherrystone/os/cherrystone.c	2015-08-19 07:25:28.577728667 -0400
@@ -169,7 +169,7 @@
 	 */
 	e_ddi_hold_devi(keysw_dip);
 
-	keypoll_timeout_hz = drv_usectohz(10 * MICROSEC);
+	keypoll_timeout_hz = drv_sectohz(10);
 	keyswitch_poll(keysw_dip);
 	abort_seq_handler = cherry_abort_seq_handler;
 
--- old/usr/src/uts/sun4u/cpu/us3_common.c	2015-08-19 07:25:28.737639104 -0400
+++ new/usr/src/uts/sun4u/cpu/us3_common.c	2015-08-19 07:25:28.743712373 -0400
@@ -2440,8 +2440,7 @@
 				 */
 				(void) timeout(cpu_delayed_check_ce_errors,
 				    (void *)(uintptr_t)aflt->flt_inst,
-				    drv_usectohz((clock_t)cpu_ceen_delay_secs
-				    * MICROSEC));
+				    drv_sectohz((clock_t)cpu_ceen_delay_secs));
 				}
 
 				/*
@@ -2668,7 +2667,7 @@
 	if (ch_flt->flt_trapped_ce & CE_CEEN_DEFER) {
 		(void) timeout(cpu_delayed_check_ce_errors,
 		    (void *)(uintptr_t)aflt->flt_inst,
-		    drv_usectohz((clock_t)cpu_ceen_delay_secs * MICROSEC));
+		    drv_sectohz((clock_t)cpu_ceen_delay_secs));
 	}
 }
 
@@ -6072,7 +6071,7 @@
 	if (!taskq_dispatch(ch_check_ce_tq, cpu_check_ce_errors, arg,
 	    TQ_NOSLEEP)) {
 		(void) timeout(cpu_delayed_check_ce_errors, arg,
-		    drv_usectohz((clock_t)cpu_ceen_delay_secs * MICROSEC));
+		    drv_sectohz((clock_t)cpu_ceen_delay_secs));
 	}
 }
 
@@ -6161,7 +6160,7 @@
 		mutex_exit(&cpu_lock);
 		(void) timeout(cpu_delayed_check_ce_errors,
 		    (void *)(uintptr_t)cp->cpu_id,
-		    drv_usectohz((clock_t)cpu_ceen_delay_secs * MICROSEC));
+		    drv_sectohz((clock_t)cpu_ceen_delay_secs));
 	}
 }
 
--- old/usr/src/uts/sun4u/daktari/os/daktari.c	2015-08-19 07:25:29.078113770 -0400
+++ new/usr/src/uts/sun4u/daktari/os/daktari.c	2015-08-19 07:25:29.083392197 -0400
@@ -166,7 +166,7 @@
 	 */
 	e_ddi_hold_devi(keysw_dip);
 
-	keypoll_timeout_hz = drv_usectohz(10 * MICROSEC);
+	keypoll_timeout_hz = drv_sectohz(10);
 	keyswitch_poll(keysw_dip);
 	abort_seq_handler = daktari_abort_seq_handler;
 }
--- old/usr/src/uts/sun4u/excalibur/io/xcalwd.c	2015-08-19 07:25:29.273083690 -0400
+++ new/usr/src/uts/sun4u/excalibur/io/xcalwd.c	2015-08-19 07:25:29.279246470 -0400
@@ -456,7 +456,7 @@
 		tsp->intvl = intvl;
 		tsp->tid = realtime_timeout(xcalwd_timeout,
 		    (void *)(uintptr_t)instance,
-		    drv_usectohz(1000000) * tsp->intvl);
+		    drv_sectohz(tsp->intvl));
 		tsp->started = B_TRUE;
 		mutex_exit(&tsp->lock);
 		return (0);
@@ -473,7 +473,7 @@
 		if (tsp->started == B_TRUE)	/* reinstate */
 			tsp->tid = realtime_timeout(xcalwd_timeout,
 			    (void *)(uintptr_t)instance,
-			    drv_usectohz(1000000) * tsp->intvl);
+			    drv_sectohz(tsp->intvl));
 		mutex_exit(&tsp->lock);
 		return (0);
 	case XCALWD_GETSTATE:
--- old/usr/src/uts/sun4u/io/pci/pci_ecc.c	2015-08-19 07:25:29.443153226 -0400
+++ new/usr/src/uts/sun4u/io/pci/pci_ecc.c	2015-08-19 07:25:29.448824933 -0400
@@ -605,8 +605,7 @@
 		    ecc_err->ecc_p->ecc_to_id == 0) {
 			ecc_err->ecc_p->ecc_to_id = timeout(ecc_delayed_ce,
 			    (void *)ecc_err->ecc_p,
-			    drv_usectohz((clock_t)ecc_ce_delay_secs *
-			    MICROSEC));
+			    drv_sectohz((clock_t)ecc_ce_delay_secs));
 		}
 
 		/* ecc_err_cexdiag returns nonzero to recirculate */
--- old/usr/src/uts/sun4u/io/px/px_hlib.c	2015-08-19 07:25:29.611847818 -0400
+++ new/usr/src/uts/sun4u/io/px/px_hlib.c	2015-08-19 07:25:29.617709677 -0400
@@ -3229,7 +3229,7 @@
 		CSR_BS(csr_base, HOTPLUG_CONTROL, SLOTPON);
 
 	/* Wait for one second */
-	delay(drv_usectohz(1000000));
+	delay(drv_sectohz(1));
 
 	return (DDI_SUCCESS);
 
@@ -3352,7 +3352,7 @@
 		}
 
 		/* Wait for one second */
-		delay(drv_usectohz(1000000));
+		delay(drv_sectohz(1));
 	}
 
 	/* Indicator LED off */
--- old/usr/src/uts/sun4u/io/rmclomv.c	2015-08-19 07:25:29.845383279 -0400
+++ new/usr/src/uts/sun4u/io/rmclomv.c	2015-08-19 07:25:29.850840247 -0400
@@ -469,7 +469,7 @@
 		 * Also just this once set the Solaris clock
 		 * to the RMC clock.
 		 */
-		timesync_interval = drv_usectohz(5*60 * MICROSEC);
+		timesync_interval = drv_sectohz(5 * 60);
 		plat_timesync((void *) &attaching);
 
 		return (DDI_SUCCESS);
@@ -2999,7 +2999,7 @@
 		 */
 		if (timer_id == 0) {
 			timer_id = timeout(rmclomv_checkrmc_wakeup, NULL,
-			    60 * drv_usectohz(1000000));
+			    drv_sectohz(60));
 		}
 
 		mutex_exit(&rmclomv_checkrmc_lock);
--- old/usr/src/uts/sun4u/littleneck/io/pcf8574_lneck.c	2015-08-19 07:25:30.090139016 -0400
+++ new/usr/src/uts/sun4u/littleneck/io/pcf8574_lneck.c	2015-08-19 07:25:30.095654121 -0400
@@ -553,7 +553,7 @@
 	if (regs[0] == 0 && regs[1] == 0x7c) {
 		abort_seq_handler = littleneck_abort_seq_handler;
 		keypoll_timeout_hz =
-		    drv_usectohz(LNECK_KEY_POLL_INTVL * MICROSEC);
+		    drv_sectohz(LNECK_KEY_POLL_INTVL);
 		littleneck_ks_poll(unitp);
 	}
 
--- old/usr/src/uts/sun4u/montecarlo/io/scsb.c	2015-08-19 07:25:30.257645435 -0400
+++ new/usr/src/uts/sun4u/montecarlo/io/scsb.c	2015-08-19 07:25:30.263851112 -0400
@@ -2767,9 +2767,7 @@
 							scsb->scsb_btid =
 							    timeout(
 							    scsb_ps_auto_on,
-							    &pao, (4 *
-							    drv_usectohz(
-							    1000000)));
+							    &pao, drv_sectohz(4));
 					} else
 #endif	/* PS_ON_DELAY */
 						scsb_ps_auto_on((void *)&pao);
--- old/usr/src/uts/sun4u/serengeti/io/sgsbbc_mailbox.c	2015-08-19 07:25:30.594256639 -0400
+++ new/usr/src/uts/sun4u/serengeti/io/sgsbbc_mailbox.c	2015-08-19 07:25:30.599697639 -0400
@@ -920,7 +920,7 @@
 	if (wait_time < sbbc_mbox_min_timeout)
 		wait_time = sbbc_mbox_default_timeout;
 
-	stop_time = ddi_get_lbolt() + wait_time * drv_usectohz(MICROSEC);
+	stop_time = ddi_get_lbolt() + drv_sectohz(wait_time);
 
 	/*
 	 * If there is a message being processed, sleep until it is our turn.
--- old/usr/src/uts/sun4u/starfire/cvc/cvc.c	2015-08-19 07:25:30.814305770 -0400
+++ new/usr/src/uts/sun4u/starfire/cvc/cvc.c	2015-08-19 07:25:30.819653358 -0400
@@ -988,7 +988,7 @@
 		if ((cvcoutput_q == NULL) || (via_bbsram))
 			delay(drv_usectohz(100000));
 		else
-			delay(drv_usectohz(1000000));
+			delay(drv_sectohz(1));
 		cvc_bbsram_ops(BBSRAM_CONTROL_REG);
 		count = BBSRAM_INPUT_COUNT;
 	} while (count == 0);
--- old/usr/src/uts/sun4u/sunfire/io/ac.c	2015-08-19 07:25:30.991488906 -0400
+++ new/usr/src/uts/sun4u/sunfire/io/ac.c	2015-08-19 07:25:30.997015346 -0400
@@ -1551,7 +1551,7 @@
 	 * create a new timeout.
 	 */
 	ac_hot_plug_timeout = timeout(ac_timeout, NULL,
-	    drv_usectohz(ac_hot_plug_timeout_interval * 1000000));
+	    drv_sectohz(ac_hot_plug_timeout_interval));
 
 	mutex_exit(&ac_hot_plug_mode_mutex);
 	return (0);
--- old/usr/src/uts/sun4u/sunfire/io/sysctrl.c	2015-08-19 07:25:31.182982326 -0400
+++ new/usr/src/uts/sun4u/sunfire/io/sysctrl.c	2015-08-19 07:25:31.188471291 -0400
@@ -442,7 +442,7 @@
 	bd_insert_retry_hz = drv_usectohz(BRD_INSERT_RETRY_USEC);
 	bd_remove_timeout_hz = drv_usectohz(BRD_REMOVE_TIMEOUT_USEC);
 	blink_led_timeout_hz = drv_usectohz(BLINK_LED_TIMEOUT_USEC);
-	overtemp_timeout_hz = drv_usectohz(OVERTEMP_TIMEOUT_SEC * MICROSEC);
+	overtemp_timeout_hz = drv_sectohz(OVERTEMP_TIMEOUT_SEC);
 	keyswitch_timeout_hz = drv_usectohz(KEYSWITCH_TIMEOUT_USEC);
 
 	/*
--- old/usr/src/uts/sun4v/io/platsvc.c	2015-08-19 07:25:31.414286769 -0400
+++ new/usr/src/uts/sun4v/io/platsvc.c	2015-08-19 07:25:31.419576911 -0400
@@ -56,7 +56,7 @@
 #define	MS2NANO(x)	((x) * MICROSEC)
 #define	MS2SEC(x)	((x) / MILLISEC)
 #define	MS2MIN(x)	(MS2SEC(x) / 60)
-#define	SEC2HZ(x)	(drv_usectohz((x) * MICROSEC))
+#define	SEC2HZ(x)	drv_sectohz(x)
 
 /*
  * Domains Services interaction
--- old/usr/src/uts/sun4v/io/vdc.c	2015-08-19 07:25:31.582402244 -0400
+++ new/usr/src/uts/sun4v/io/vdc.c	2015-08-19 07:25:31.588306125 -0400
@@ -4479,7 +4479,7 @@
 
 			if (ctimeout != 0 && tmid == 0) {
 				tmid = timeout(vdc_connection_timeout, vdcp,
-				    ctimeout * drv_usectohz(MICROSEC));
+				    drv_sectohz(ctimeout));
 			}
 
 			/* Switch to STATE_DETACH if drv is detaching */
@@ -4542,8 +4542,7 @@
 			 * Wait for LDC_UP. If it times out and we have multiple
 			 * servers then we will retry using a different server.
 			 */
-			ldcup_timeout = ddi_get_lbolt() + (vdc_ldcup_timeout *
-			    drv_usectohz(MICROSEC));
+			ldcup_timeout = ddi_get_lbolt() + drv_sectohz(vdc_ldcup_timeout);
 			status = cv_timedwait(&vdcp->initwait_cv, &vdcp->lock,
 			    ldcup_timeout);
 			if (status == -1 &&
--- old/usr/src/uts/sun4v/io/vnet_gen.c	2015-08-19 07:25:31.942399271 -0400
+++ new/usr/src/uts/sun4v/io/vnet_gen.c	2015-08-19 07:25:31.948143537 -0400
@@ -4121,7 +4121,7 @@
 		 */
 		ASSERT(ldcp->htid == 0);
 		ldcp->htid = timeout(vgen_hwatchdog, (caddr_t)ldcp,
-		    drv_usectohz(vgen_hwd_interval * MICROSEC));
+		    drv_sectohz(vgen_hwd_interval));
 
 		/* Phase 1 involves negotiating the version */
 		rv = vgen_send_version_negotiate(ldcp);
--- old/usr/src/uts/sun4v/io/vsw_switching.c	2015-08-19 07:25:32.238520654 -0400
+++ new/usr/src/uts/sun4v/io/vsw_switching.c	2015-08-19 07:25:32.243941910 -0400
@@ -179,7 +179,7 @@
 	int		rv;
 
 	/* wait time used on successive retries */
-	xwait = drv_usectohz(vsw_setup_switching_delay * MICROSEC);
+	xwait = drv_sectohz(vsw_setup_switching_delay);
 
 	CALLB_CPR_INIT(&cprinfo, &vswp->sw_thr_lock, callb_generic_cpr,
 	    "vsw_setup_sw_thread");
--- old/usr/src/uts/sun4v/ontario/io/tsalarm.c	2015-08-19 07:25:32.434571178 -0400
+++ new/usr/src/uts/sun4v/ontario/io/tsalarm.c	2015-08-19 07:25:32.440101698 -0400
@@ -759,7 +759,7 @@
 	if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg,
 	    PCP_COMM_TIMEOUT) < 0) {
 		/* we either timed out or erred; either way try again */
-		(void) delay(PCP_COMM_TIMEOUT * drv_usectohz(1000000));
+		(void) delay(drv_sectohz(PCP_COMM_TIMEOUT));
 
 		if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg,
 		    PCP_COMM_TIMEOUT) < 0) {
@@ -834,7 +834,7 @@
 	if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg,
 	    PCP_COMM_TIMEOUT) < 0) {
 		/* we either timed out or erred; either way try again */
-		(void) delay(PCP_COMM_TIMEOUT * drv_usectohz(1000000));
+		(void) delay(drv_sectohz(PCP_COMM_TIMEOUT));
 
 		if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg,
 		    PCP_COMM_TIMEOUT) < 0) {
@@ -1093,7 +1093,7 @@
 				goto done;
 			}
 			/* waiting 5 secs. Do we need 5 Secs? */
-			(void) delay(PCP_GLVC_SLEEP * drv_usectohz(1000000));
+			(void) delay(drv_sectohz(PCP_GLVC_SLEEP));
 		} /* while trying the io operation */
 
 		if (n < 0) {
