• Arnd Bergmann's avatar
    pps: parport: use timespec64 instead of timespec · 28f3a488
    Arnd Bergmann authored
    getnstimeofday() is deprecated, so I'm converting this to use
    ktime_get_real_ts64() as a safe replacement.  I considered using
    ktime_get_real() instead, but since the algorithm here depends on the
    exact timing, I decided to introduce fewer changes and leave the code
    that determines the nanoseconds since the last seconds wrap untouched.
    
    It's not entirely clear to me whether we should also change the time
    base to CLOCK_BOOTTIME or CLOCK_TAI.  With boottime, we would be
    independent of changes due to settimeofday() and only see the speed
    adjustment from the upstream clock source, with the downside of having
    the signal be at an arbirary offset from the start of the UTC second
    signal.  With CLOCK_TAI, we would use the same offset from the UTC
    second as before and still suffer from settimeofday() adjustments, but
    would be less confused during leap seconds.
    
    Both boottime and tai only offer usable (i.e.  avoiding ktime_t to
    timespec64 conversion) interfaces for ktime_t though, so either way,
    changing it wouldn't take significantly more work.  CLOCK_MONOTONIC
    could be used with ktime_get_ts64(), but would lose synchronization
    across a suspend/resume cycle, which seems worse.
    
    Link: http://lkml.kernel.org/r/20180116171451.3095620-1-arnd@arndb.deSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Acked-by: default avatarRodolfo Giometti <giometti@enneenne.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    28f3a488
pps_gen_parport.c 7.09 KB