ptp_pch: use helpers function for converting between ns and timespec
authorYueHaibing <yuehaibing@huawei.com>
Fri, 27 Apr 2018 07:36:18 +0000 (15:36 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Apr 2018 19:22:28 +0000 (15:22 -0400)
use ns_to_timespec64() and timespec64_to_ns() instead of open coding

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ptp/ptp_pch.c

index b328517..78ccf93 100644 (file)
@@ -452,7 +452,6 @@ static int ptp_pch_adjtime(struct ptp_clock_info *ptp, s64 delta)
 static int ptp_pch_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
 {
        u64 ns;
-       u32 remainder;
        unsigned long flags;
        struct pch_dev *pch_dev = container_of(ptp, struct pch_dev, caps);
        struct pch_ts_regs __iomem *regs = pch_dev->regs;
@@ -461,8 +460,7 @@ static int ptp_pch_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts)
        ns = pch_systime_read(regs);
        spin_unlock_irqrestore(&pch_dev->register_lock, flags);
 
-       ts->tv_sec = div_u64_rem(ns, 1000000000, &remainder);
-       ts->tv_nsec = remainder;
+       *ts = ns_to_timespec64(ns);
        return 0;
 }
 
@@ -474,8 +472,7 @@ static int ptp_pch_settime(struct ptp_clock_info *ptp,
        struct pch_dev *pch_dev = container_of(ptp, struct pch_dev, caps);
        struct pch_ts_regs __iomem *regs = pch_dev->regs;
 
-       ns = ts->tv_sec * 1000000000ULL;
-       ns += ts->tv_nsec;
+       ns = timespec64_to_ns(ts);
 
        spin_lock_irqsave(&pch_dev->register_lock, flags);
        pch_systime_write(regs, ns);