@@ -1645,7 +1645,7 @@ TIMER_ACPI_DECLARE(arch_timer, ACPI_SIG_GTDT, arch_timer_acpi_init);
#if IS_ENABLED(CONFIG_PTP_1588_CLOCK_KVM)
#include <linux/arm-smccc.h>
int kvm_arch_ptp_get_crosststamp(unsigned long *cycle, struct timespec64 *ts,
- struct clocksource **cs)
+ struct clocksource **cs, long *ctx)
{
struct arm_smccc_res hvc_res;
ktime_t ktime_overall;
@@ -150,7 +150,8 @@ static int e1000e_phc_get_syncdevicetime(ktime_t *device,
* clock values in ns.
**/
static int e1000e_phc_getcrosststamp(struct ptp_clock_info *ptp,
- struct system_device_crosststamp *xtstamp)
+ struct system_device_crosststamp *xtstamp,
+ long *__unused)
{
struct e1000_adapter *adapter = container_of(ptp, struct e1000_adapter,
ptp_clock_info);
@@ -235,7 +235,7 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg)
err = -EOPNOTSUPP;
break;
}
- err = ptp->info->getcrosststamp(ptp->info, &xtstamp);
+ err = ptp->info->getcrosststamp(ptp->info, &xtstamp, NULL);
if (err)
break;
@@ -8,4 +8,4 @@
int kvm_arch_ptp_init(void);
int kvm_arch_ptp_get_clock(struct timespec64 *ts);
int kvm_arch_ptp_get_crosststamp(unsigned long *cycle,
- struct timespec64 *tspec, void *cs);
+ struct timespec64 *tspec, struct clocksource **cs, long *ctx);
@@ -55,7 +55,7 @@ int kvm_arch_ptp_get_clock(struct timespec64 *ts)
}
int kvm_arch_ptp_get_crosststamp(unsigned long *cycle, struct timespec64 *tspec,
- struct clocksource **cs)
+ struct clocksource **cs, void *ctx)
{
unsigned long ret;
unsigned int version;
@@ -133,7 +133,8 @@ struct ptp_clock_info {
int (*gettimex64)(struct ptp_clock_info *ptp, struct timespec64 *ts,
struct ptp_system_timestamp *sts);
int (*getcrosststamp)(struct ptp_clock_info *ptp,
- struct system_device_crosststamp *cts);
+ struct system_device_crosststamp *cts,
+ long *flag);
int (*settime64)(struct ptp_clock_info *p, const struct timespec64 *ts);
int (*enable)(struct ptp_clock_info *ptp,
struct ptp_clock_request *request, int on);
sometimes we may need tell getcrosstimestamp call back how to perform itself. Extending input arguments for getcrosstimestamp API to offer more exquisite control for the operation. Signed-off-by: Jianyong Wu <jianyong.wu@arm.com> --- drivers/clocksource/arm_arch_timer.c | 2 +- drivers/net/ethernet/intel/e1000e/ptp.c | 3 ++- drivers/ptp/ptp_chardev.c | 2 +- drivers/ptp/ptp_kvm.h | 2 +- drivers/ptp/ptp_kvm_x86.c | 2 +- include/linux/ptp_clock_kernel.h | 3 ++- 6 files changed, 8 insertions(+), 6 deletions(-)