Re: [RFC PATCH v8 3/8] ptp: Reorganize ptp_kvm modules to make it arch-independent.

From: Marc Zyngier
Date: Mon Nov 25 2019 - 10:47:52 EST


On 2019-11-25 10:45, Jianyong Wu wrote:
Currently, ptp_kvm modules implementation is only for x86 which includs
large part of arch-specific code. This patch move all of those code
into new arch related file in the same directory.

Signed-off-by: Jianyong Wu <jianyong.wu@xxxxxxx>
---
drivers/ptp/Makefile | 1 +
drivers/ptp/{ptp_kvm.c => ptp_kvm_common.c} | 77 +++++-------------
drivers/ptp/ptp_kvm_x86.c | 87 +++++++++++++++++++++
include/asm-generic/ptp_kvm.h | 12 +++
4 files changed, 118 insertions(+), 59 deletions(-)
rename drivers/ptp/{ptp_kvm.c => ptp_kvm_common.c} (63%)
create mode 100644 drivers/ptp/ptp_kvm_x86.c
create mode 100644 include/asm-generic/ptp_kvm.h

[...]

diff --git a/include/asm-generic/ptp_kvm.h b/include/asm-generic/ptp_kvm.h
new file mode 100644
index 000000000000..e5dd386f6664
--- /dev/null
+++ b/include/asm-generic/ptp_kvm.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Virtual PTP 1588 clock for use with KVM guests
+ *
+ * Copyright (C) 2019 ARM Ltd.

I think you should live the original copyright assignment here.
This really isn't anything new.

+ * All Rights Reserved
+ */
+
+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);

Why is this include file in asm-generic? This isn't a kernel-wide API.

I think it should be sitting in drivers/ptp, as it is only shared between
the generic and arch-specific stuff.

Thanks,

M.
--
Jazz is not dead. It just smells funny...