Merge tag 'trace-fixes-v3.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git] / drivers / hv / vmbus_drv.c
index cf19dfa5ead187bf6c2eb535e31986ca5e671981..bf421e0efa1ebca57d834ff6599014b049dc6a19 100644 (file)
@@ -36,6 +36,7 @@
 #include <linux/kernel_stat.h>
 #include <asm/hyperv.h>
 #include <asm/hypervisor.h>
+#include <asm/mshyperv.h>
 #include "hyperv_vmbus.h"
 
 
@@ -528,7 +529,6 @@ static void vmbus_flow_handler(unsigned int irq, struct irq_desc *desc)
 static int vmbus_bus_init(int irq)
 {
        int ret;
-       unsigned int vector;
 
        /* Hypervisor initialization...setup hypercall page..etc */
        ret = hv_init();
@@ -558,13 +558,16 @@ static int vmbus_bus_init(int irq)
         */
        irq_set_handler(irq, vmbus_flow_handler);
 
-       vector = IRQ0_VECTOR + irq;
+       /*
+        * Register our interrupt handler.
+        */
+       hv_register_vmbus_handler(irq, vmbus_isr);
 
        /*
-        * Notify the hypervisor of our irq and
+        * Initialize the per-cpu interrupt state and
         * connect to the host.
         */
-       on_each_cpu(hv_synic_init, (void *)&vector, 1);
+       on_each_cpu(hv_synic_init, NULL, 1);
        ret = vmbus_connect();
        if (ret)
                goto err_irq;