]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ptp/vmware: Use VMware hypercall API
authorAlexey Makhalov <alexey.makhalov@broadcom.com>
Thu, 13 Jun 2024 19:16:44 +0000 (12:16 -0700)
committerBorislav Petkov (AMD) <bp@alien8.de>
Tue, 25 Jun 2024 15:15:47 +0000 (17:15 +0200)
Switch from VMWARE_HYPERCALL macro to vmware_hypercall API.
Eliminate arch specific code. No functional changes intended.

Signed-off-by: Alexey Makhalov <alexey.makhalov@broadcom.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240613191650.9913-3-alexey.makhalov@broadcom.com
drivers/ptp/ptp_vmw.c

index 7ec90359428abfd92d39dc1251da05ca704a551b..20ab05c4daa8ab183b4f439ce2126450fb5232d5 100644 (file)
@@ -14,7 +14,6 @@
 #include <asm/hypervisor.h>
 #include <asm/vmware.h>
 
-#define VMWARE_MAGIC 0x564D5868
 #define VMWARE_CMD_PCLK(nr) ((nr << 16) | 97)
 #define VMWARE_CMD_PCLK_GETTIME VMWARE_CMD_PCLK(0)
 
@@ -24,15 +23,10 @@ static struct ptp_clock *ptp_vmw_clock;
 
 static int ptp_vmw_pclk_read(u64 *ns)
 {
-       u32 ret, nsec_hi, nsec_lo, unused1, unused2, unused3;
-
-       asm volatile (VMWARE_HYPERCALL :
-               "=a"(ret), "=b"(nsec_hi), "=c"(nsec_lo), "=d"(unused1),
-               "=S"(unused2), "=D"(unused3) :
-               "a"(VMWARE_MAGIC), "b"(0),
-               "c"(VMWARE_CMD_PCLK_GETTIME), "d"(0) :
-               "memory");
+       u32 ret, nsec_hi, nsec_lo;
 
+       ret = vmware_hypercall3(VMWARE_CMD_PCLK_GETTIME, 0,
+                               &nsec_hi, &nsec_lo);
        if (ret == 0)
                *ns = ((u64)nsec_hi << 32) | nsec_lo;
        return ret;