Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer updates from Thomas Gleixner: "The timer departement delivers: - more year 2038 rework - a massive rework of the arm achitected timer - preparatory patches to allow NTP correction of clock event devices to avoid early expiry - the usual pile of fixes and enhancements all over the place" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (91 commits) timer/sysclt: Restrict timer migration sysctl values to 0 and 1 arm64/arch_timer: Mark errata handlers as __maybe_unused Clocksource/mips-gic: Remove redundant non devicetree init MIPS/Malta: Probe gic-timer via devicetree clocksource: Use GENMASK_ULL in definition of CLOCKSOURCE_MASK acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver clocksource: arm_arch_timer: add GTDT support for memory-mapped timer acpi/arm64: Add memory-mapped timer support in GTDT driver clocksource: arm_arch_timer: simplify ACPI support code. acpi/arm64: Add GTDT table parse driver clocksource: arm_arch_timer: split MMIO timer probing. clocksource: arm_arch_timer: add structs to describe MMIO timer clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT init call clocksource: arm_arch_timer: refactor arch_timer_needs_probing clocksource: arm_arch_timer: split dt-only rate handling x86/uv/time: Set ->min_delta_ticks and ->max_delta_ticks unicore32/time: Set ->min_delta_ticks and ->max_delta_ticks um/time: Set ->min_delta_ticks and ->max_delta_ticks tile/time: Set ->min_delta_ticks and ->max_delta_ticks score/time: Set ->min_delta_ticks and ->max_delta_ticks ...
This commit is contained in:
@@ -97,30 +97,26 @@ static s32 scaled_ppm_to_ppb(long ppm)
|
||||
|
||||
/* posix clock implementation */
|
||||
|
||||
static int ptp_clock_getres(struct posix_clock *pc, struct timespec *tp)
|
||||
static int ptp_clock_getres(struct posix_clock *pc, struct timespec64 *tp)
|
||||
{
|
||||
tp->tv_sec = 0;
|
||||
tp->tv_nsec = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ptp_clock_settime(struct posix_clock *pc, const struct timespec *tp)
|
||||
static int ptp_clock_settime(struct posix_clock *pc, const struct timespec64 *tp)
|
||||
{
|
||||
struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock);
|
||||
struct timespec64 ts = timespec_to_timespec64(*tp);
|
||||
|
||||
return ptp->info->settime64(ptp->info, &ts);
|
||||
return ptp->info->settime64(ptp->info, tp);
|
||||
}
|
||||
|
||||
static int ptp_clock_gettime(struct posix_clock *pc, struct timespec *tp)
|
||||
static int ptp_clock_gettime(struct posix_clock *pc, struct timespec64 *tp)
|
||||
{
|
||||
struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock);
|
||||
struct timespec64 ts;
|
||||
int err;
|
||||
|
||||
err = ptp->info->gettime64(ptp->info, &ts);
|
||||
if (!err)
|
||||
*tp = timespec64_to_timespec(ts);
|
||||
err = ptp->info->gettime64(ptp->info, tp);
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -133,7 +129,7 @@ static int ptp_clock_adjtime(struct posix_clock *pc, struct timex *tx)
|
||||
ops = ptp->info;
|
||||
|
||||
if (tx->modes & ADJ_SETOFFSET) {
|
||||
struct timespec ts;
|
||||
struct timespec64 ts;
|
||||
ktime_t kt;
|
||||
s64 delta;
|
||||
|
||||
@@ -146,7 +142,7 @@ static int ptp_clock_adjtime(struct posix_clock *pc, struct timex *tx)
|
||||
if ((unsigned long) ts.tv_nsec >= NSEC_PER_SEC)
|
||||
return -EINVAL;
|
||||
|
||||
kt = timespec_to_ktime(ts);
|
||||
kt = timespec64_to_ktime(ts);
|
||||
delta = ktime_to_ns(kt);
|
||||
err = ops->adjtime(ops, delta);
|
||||
} else if (tx->modes & ADJ_FREQUENCY) {
|
||||
|
Reference in New Issue
Block a user