input/vmmouse: Update the backdoor call with support for new instructions
[linux-2.6-microblaze.git] / drivers / input / mouse / vmmouse.c
index 871e5b5..148245c 100644 (file)
 #include <linux/slab.h>
 #include <linux/module.h>
 #include <asm/hypervisor.h>
+#include <asm/vmware.h>
 
 #include "psmouse.h"
 #include "vmmouse.h"
 
 #define VMMOUSE_PROTO_MAGIC                    0x564D5868U
-#define VMMOUSE_PROTO_PORT                     0x5658
 
 /*
  * Main commands supported by the vmmouse hypervisor port.
@@ -84,7 +84,7 @@ struct vmmouse_data {
 #define VMMOUSE_CMD(cmd, in1, out1, out2, out3, out4)  \
 ({                                                     \
        unsigned long __dummy1, __dummy2;               \
-       __asm__ __volatile__ ("inl %%dx" :              \
+       __asm__ __volatile__ (VMWARE_HYPERCALL :        \
                "=a"(out1),                             \
                "=b"(out2),                             \
                "=c"(out3),                             \
@@ -94,7 +94,7 @@ struct vmmouse_data {
                "a"(VMMOUSE_PROTO_MAGIC),               \
                "b"(in1),                               \
                "c"(VMMOUSE_PROTO_CMD_##cmd),           \
-               "d"(VMMOUSE_PROTO_PORT) :               \
+               "d"(0) :                                \
                "memory");                              \
 })