|
@@ -178,7 +178,6 @@ static int ptp_ixp_adjtime(struct ptp_clock_info *ptp, s64 delta)
|
|
|
static int ptp_ixp_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
|
|
|
{
|
|
|
u64 ns;
|
|
|
- u32 remainder;
|
|
|
unsigned long flags;
|
|
|
struct ixp_clock *ixp_clock = container_of(ptp, struct ixp_clock, caps);
|
|
|
struct ixp46x_ts_regs *regs = ixp_clock->regs;
|
|
@@ -189,8 +188,7 @@ static int ptp_ixp_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
|
|
|
|
|
|
spin_unlock_irqrestore(®ister_lock, flags);
|
|
|
|
|
|
- ts->tv_sec = div_u64_rem(ns, 1000000000, &remainder);
|
|
|
- ts->tv_nsec = remainder;
|
|
|
+ *ts = ns_to_timespec64(ns);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -202,8 +200,7 @@ static int ptp_ixp_settime(struct ptp_clock_info *ptp,
|
|
|
struct ixp_clock *ixp_clock = container_of(ptp, struct ixp_clock, caps);
|
|
|
struct ixp46x_ts_regs *regs = ixp_clock->regs;
|
|
|
|
|
|
- ns = ts->tv_sec * 1000000000ULL;
|
|
|
- ns += ts->tv_nsec;
|
|
|
+ ns = timespec64_to_ns(ts);
|
|
|
|
|
|
spin_lock_irqsave(®ister_lock, flags);
|
|
|
|