diff -uNr dahdi-linux-3.1.0.orig/drivers/dahdi/opvxd115/vpm450m.c dahdi-linux-3.1.0/drivers/dahdi/opvxd115/vpm450m.c --- dahdi-linux-3.1.0.orig/drivers/dahdi/opvxd115/vpm450m.c 2020-05-10 18:55:56.703346909 -0400 +++ dahdi-linux-3.1.0/drivers/dahdi/opvxd115/vpm450m.c 2020-05-10 18:59:12.655893056 -0400 @@ -52,7 +52,7 @@ #else ktime_get_real_ts64(&tv); total_usecs = (((unsigned long long)(tv.tv_sec)) * 1000000) + - (((unsigned long long)(tv.tv_nsec)) / 1000); + (((unsigned long long)(tv.tv_nsec / 1000))); #endif f_pTime->aulWallTimeUs[0] = (total_usecs & mask); diff -uNr dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xbus-core.c dahdi-linux-3.1.0/drivers/dahdi/xpp/xbus-core.c --- dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xbus-core.c 2020-05-10 18:55:55.660359969 -0400 +++ dahdi-linux-3.1.0/drivers/dahdi/xpp/xbus-core.c 2020-05-10 19:47:19.125629542 -0400 @@ -1754,11 +1754,13 @@ static void xbus_fill_proc_queue(struct seq_file *sfile, struct xframe_queue *q) { + s32 lag_us_rem; + s64 lag_ms = div_s64_rem(q->worst_lag_usec, 1000, &lag_us_rem); + seq_printf(sfile, - "%-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%lld ms\n", + "%-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%03d ms\n", q->name, q->steady_state_count, q->count, q->max_count, - q->worst_count, q->overflows, q->worst_lag_usec / 1000, - q->worst_lag_usec % 1000); + q->worst_count, q->overflows, lag_ms, lag_us_rem); xframe_queue_clearstats(q); } diff -uNr dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xbus-pcm.c dahdi-linux-3.1.0/drivers/dahdi/xpp/xbus-pcm.c --- dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xbus-pcm.c 2020-05-10 18:55:55.630360345 -0400 +++ dahdi-linux-3.1.0/drivers/dahdi/xpp/xbus-pcm.c 2020-05-10 19:29:56.928728534 -0400 @@ -129,7 +129,7 @@ usec = ktime_us_delta(ticker->last_sample, ticker->first_sample); ticker->first_sample = ticker->last_sample; - ticker->tick_period = usec / ticker->cycle; + ticker->tick_period = div_s64(usec, ticker->cycle); cycled = 1; } ticker->count++; @@ -497,7 +497,7 @@ XBUS_DBG(SYNC, xbus, "%sDRIFT adjust %s (%d) (last update %lld seconds ago)\n", (disable_pll_sync) ? "Fake " : "", msg, drift, - msec_delta / MSEC_PER_SEC); + div_s64(msec_delta, MSEC_PER_SEC)); if (!disable_pll_sync) CALL_PROTO(GLOBAL, SYNC_SOURCE, xbus, NULL, SYNC_MODE_PLL, drift); diff -uNr dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xbus-sysfs.c dahdi-linux-3.1.0/drivers/dahdi/xpp/xbus-sysfs.c --- dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xbus-sysfs.c 2020-05-10 18:55:55.654360044 -0400 +++ dahdi-linux-3.1.0/drivers/dahdi/xpp/xbus-sysfs.c 2020-05-10 19:33:32.482018986 -0400 @@ -249,7 +249,7 @@ /* * Calculate lost ticks time */ - seconds = ktime_ms_delta(now, di->last_lost_tick) / 1000; + seconds = div_s64(ktime_ms_delta(now, di->last_lost_tick), 1000); minutes = seconds / 60; seconds = seconds % 60; hours = minutes / 60; diff -uNr dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xframe_queue.c dahdi-linux-3.1.0/drivers/dahdi/xpp/xframe_queue.c --- dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xframe_queue.c 2020-05-10 18:55:55.680359719 -0400 +++ dahdi-linux-3.1.0/drivers/dahdi/xpp/xframe_queue.c 2020-05-10 19:48:10.301986420 -0400 @@ -40,10 +40,11 @@ THIS_MODULE->name, q->name); list_for_each_entry_reverse(xframe, &q->head, frame_list) { xpacket_t *pack = (xpacket_t *)&xframe->packets[0]; - s64 usec = ktime_us_delta(now, xframe->kt_queued); + s32 usec_rem; + s64 msec = div_s64_rem(ktime_us_delta(now, xframe->kt_queued), 1000, &usec_rem); - snprintf(prefix, ARRAY_SIZE(prefix), " %3d> %5lld.%03lld msec", - i++, usec / 1000, usec % 1000); + snprintf(prefix, ARRAY_SIZE(prefix), " %3d> %5lld.%03d msec", + i++, msec, usec_rem); dump_packet(prefix, pack, 1); } } @@ -60,11 +61,13 @@ if (q->count >= q->max_count) { q->overflows++; if ((overflow_cnt++ % 1000) < 5) { - NOTICE("Overflow of %-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%lld ms\n", + s32 lag_us_rem; + s64 lag_ms = div_s64_rem(q->worst_lag_usec, 1000, &lag_us_rem); + + NOTICE("Overflow of %-15s: counts %3d, %3d, %3d worst %3d, overflows %3d worst_lag %02lld.%03d ms\n", q->name, q->steady_state_count, q->count, q->max_count, q->worst_count, q->overflows, - q->worst_lag_usec / 1000, - q->worst_lag_usec % 1000); + lag_ms, lag_us_rem); __xframe_dump_queue(q); } ret = 0; diff -uNr dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xpp_usb.c dahdi-linux-3.1.0/drivers/dahdi/xpp/xpp_usb.c --- dahdi-linux-3.1.0.orig/drivers/dahdi/xpp/xpp_usb.c 2020-05-10 18:55:55.699359481 -0400 +++ dahdi-linux-3.1.0/drivers/dahdi/xpp/xpp_usb.c 2020-05-10 19:50:56.314900234 -0400 @@ -882,7 +882,7 @@ usec = 0; /* System clock jumped */ if (usec > xusb->max_tx_delay) xusb->max_tx_delay = usec; - i = usec / USEC_BUCKET; + i = div_s64(usec, USEC_BUCKET); if (i >= NUM_BUCKETS) i = NUM_BUCKETS - 1; xusb->usb_tx_delay[i]++;