aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/Kconfig2
-rw-r--r--drivers/Makefile2
-rw-r--r--drivers/hv/Kconfig14
-rw-r--r--drivers/hv/Makefile7
-rw-r--r--drivers/hv/channel.c (renamed from drivers/staging/hv/channel.c)2
-rw-r--r--drivers/hv/channel_mgmt.c (renamed from drivers/staging/hv/channel_mgmt.c)2
-rw-r--r--drivers/hv/connection.c (renamed from drivers/staging/hv/connection.c)2
-rw-r--r--drivers/hv/hv.c (renamed from drivers/staging/hv/hv.c)2
-rw-r--r--drivers/hv/hv_kvp.c (renamed from drivers/staging/hv/hv_kvp.c)2
-rw-r--r--drivers/hv/hv_kvp.h (renamed from drivers/staging/hv/hv_kvp.h)0
-rw-r--r--drivers/hv/hv_util.c (renamed from drivers/staging/hv/hv_util.c)2
-rw-r--r--drivers/hv/hyperv_vmbus.h (renamed from drivers/staging/hv/hyperv_vmbus.h)3
-rw-r--r--drivers/hv/ring_buffer.c (renamed from drivers/staging/hv/ring_buffer.c)2
-rw-r--r--drivers/hv/vmbus_drv.c (renamed from drivers/staging/hv/vmbus_drv.c)2
-rw-r--r--drivers/staging/hv/Kconfig28
-rw-r--r--drivers/staging/hv/Makefile7
-rw-r--r--drivers/staging/hv/hv_mouse.c3
-rw-r--r--drivers/staging/hv/hyperv_net.h2
-rw-r--r--drivers/staging/hv/storvsc_drv.c2
-rw-r--r--include/linux/hyperv.h (renamed from drivers/staging/hv/hyperv.h)0
-rw-r--r--tools/hv/hv_kvp_daemon.c (renamed from drivers/staging/hv/tools/hv_kvp_daemon.c)0
21 files changed, 41 insertions, 45 deletions
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 95b9e7eefadc..ce3c35f4041c 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -130,4 +130,6 @@ source "drivers/iommu/Kconfig"
130 130
131source "drivers/virt/Kconfig" 131source "drivers/virt/Kconfig"
132 132
133source "drivers/hv/Kconfig"
134
133endmenu 135endmenu
diff --git a/drivers/Makefile b/drivers/Makefile
index 7fa433a7030c..ef693cfb4813 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -127,3 +127,5 @@ obj-$(CONFIG_IOMMU_SUPPORT) += iommu/
127 127
128# Virtualization drivers 128# Virtualization drivers
129obj-$(CONFIG_VIRT_DRIVERS) += virt/ 129obj-$(CONFIG_VIRT_DRIVERS) += virt/
130obj-$(CONFIG_HYPERV) += hv/
131
diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig
new file mode 100644
index 000000000000..9fa09ac000ad
--- /dev/null
+++ b/drivers/hv/Kconfig
@@ -0,0 +1,14 @@
1config HYPERV
2 tristate "Microsoft Hyper-V client drivers"
3 depends on X86 && ACPI && PCI
4 help
5 Select this option to run Linux as a Hyper-V client operating
6 system.
7
8config HYPERV_UTILS
9 tristate "Microsoft Hyper-V Utilities driver"
10 depends on HYPERV && CONNECTOR && NLS
11 help
12 Select this option to enable the Hyper-V Utilities.
13
14
diff --git a/drivers/hv/Makefile b/drivers/hv/Makefile
new file mode 100644
index 000000000000..a23938b991c9
--- /dev/null
+++ b/drivers/hv/Makefile
@@ -0,0 +1,7 @@
1obj-$(CONFIG_HYPERV) += hv_vmbus.o
2obj-$(CONFIG_HYPERV_UTILS) += hv_utils.o
3
4hv_vmbus-y := vmbus_drv.o \
5 hv.o connection.o channel.o \
6 channel_mgmt.o ring_buffer.o
7hv_utils-y := hv_util.o hv_kvp.o
diff --git a/drivers/staging/hv/channel.c b/drivers/hv/channel.c
index b6f3d38a6dbb..406537420fff 100644
--- a/drivers/staging/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -26,8 +26,8 @@
26#include <linux/mm.h> 26#include <linux/mm.h>
27#include <linux/slab.h> 27#include <linux/slab.h>
28#include <linux/module.h> 28#include <linux/module.h>
29#include <linux/hyperv.h>
29 30
30#include "hyperv.h"
31#include "hyperv_vmbus.h" 31#include "hyperv_vmbus.h"
32 32
33#define NUM_PAGES_SPANNED(addr, len) \ 33#define NUM_PAGES_SPANNED(addr, len) \
diff --git a/drivers/staging/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 9f007522a9d5..41bf287baa1c 100644
--- a/drivers/staging/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -28,8 +28,8 @@
28#include <linux/list.h> 28#include <linux/list.h>
29#include <linux/module.h> 29#include <linux/module.h>
30#include <linux/completion.h> 30#include <linux/completion.h>
31#include <linux/hyperv.h>
31 32
32#include "hyperv.h"
33#include "hyperv_vmbus.h" 33#include "hyperv_vmbus.h"
34 34
35struct vmbus_channel_message_table_entry { 35struct vmbus_channel_message_table_entry {
diff --git a/drivers/staging/hv/connection.c b/drivers/hv/connection.c
index 649b91bcd8c1..5f438b650068 100644
--- a/drivers/staging/hv/connection.c
+++ b/drivers/hv/connection.c
@@ -29,8 +29,8 @@
29#include <linux/mm.h> 29#include <linux/mm.h>
30#include <linux/slab.h> 30#include <linux/slab.h>
31#include <linux/vmalloc.h> 31#include <linux/vmalloc.h>
32#include <linux/hyperv.h>
32 33
33#include "hyperv.h"
34#include "hyperv_vmbus.h" 34#include "hyperv_vmbus.h"
35 35
36 36
diff --git a/drivers/staging/hv/hv.c b/drivers/hv/hv.c
index 06f1e158c27c..931b7b030784 100644
--- a/drivers/staging/hv/hv.c
+++ b/drivers/hv/hv.c
@@ -25,8 +25,8 @@
25#include <linux/mm.h> 25#include <linux/mm.h>
26#include <linux/slab.h> 26#include <linux/slab.h>
27#include <linux/vmalloc.h> 27#include <linux/vmalloc.h>
28#include <linux/hyperv.h>
28 29
29#include "hyperv.h"
30#include "hyperv_vmbus.h" 30#include "hyperv_vmbus.h"
31 31
32/* The one and only */ 32/* The one and only */
diff --git a/drivers/staging/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index 1e9515cc6094..69c4c985daeb 100644
--- a/drivers/staging/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -26,8 +26,8 @@
26#include <linux/nls.h> 26#include <linux/nls.h>
27#include <linux/connector.h> 27#include <linux/connector.h>
28#include <linux/workqueue.h> 28#include <linux/workqueue.h>
29#include <linux/hyperv.h>
29 30
30#include "hyperv.h"
31#include "hv_kvp.h" 31#include "hv_kvp.h"
32 32
33 33
diff --git a/drivers/staging/hv/hv_kvp.h b/drivers/hv/hv_kvp.h
index 9b765d7df838..9b765d7df838 100644
--- a/drivers/staging/hv/hv_kvp.h
+++ b/drivers/hv/hv_kvp.h
diff --git a/drivers/staging/hv/hv_util.c b/drivers/hv/hv_util.c
index faa66074cc21..e0e3a6d0244d 100644
--- a/drivers/staging/hv/hv_util.c
+++ b/drivers/hv/hv_util.c
@@ -26,8 +26,8 @@
26#include <linux/slab.h> 26#include <linux/slab.h>
27#include <linux/sysctl.h> 27#include <linux/sysctl.h>
28#include <linux/reboot.h> 28#include <linux/reboot.h>
29#include <linux/hyperv.h>
29 30
30#include "hyperv.h"
31#include "hv_kvp.h" 31#include "hv_kvp.h"
32 32
33 33
diff --git a/drivers/staging/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
index 3d2d836c3cc8..8261cb64931b 100644
--- a/drivers/staging/hv/hyperv_vmbus.h
+++ b/drivers/hv/hyperv_vmbus.h
@@ -28,8 +28,7 @@
28#include <linux/list.h> 28#include <linux/list.h>
29#include <asm/sync_bitops.h> 29#include <asm/sync_bitops.h>
30#include <linux/atomic.h> 30#include <linux/atomic.h>
31 31#include <linux/hyperv.h>
32#include "hyperv.h"
33 32
34/* 33/*
35 * The below CPUID leaves are present if VersionAndFeatures.HypervisorPresent 34 * The below CPUID leaves are present if VersionAndFeatures.HypervisorPresent
diff --git a/drivers/staging/hv/ring_buffer.c b/drivers/hv/ring_buffer.c
index 70e2e66fec71..f594ed09d7e0 100644
--- a/drivers/staging/hv/ring_buffer.c
+++ b/drivers/hv/ring_buffer.c
@@ -25,8 +25,8 @@
25 25
26#include <linux/kernel.h> 26#include <linux/kernel.h>
27#include <linux/mm.h> 27#include <linux/mm.h>
28#include <linux/hyperv.h>
28 29
29#include "hyperv.h"
30#include "hyperv_vmbus.h" 30#include "hyperv_vmbus.h"
31 31
32 32
diff --git a/drivers/staging/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index d2562afcce4c..b0d08f980de1 100644
--- a/drivers/staging/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -32,8 +32,8 @@
32#include <linux/acpi.h> 32#include <linux/acpi.h>
33#include <acpi/acpi_bus.h> 33#include <acpi/acpi_bus.h>
34#include <linux/completion.h> 34#include <linux/completion.h>
35#include <linux/hyperv.h>
35 36
36#include "hyperv.h"
37#include "hyperv_vmbus.h" 37#include "hyperv_vmbus.h"
38 38
39 39
diff --git a/drivers/staging/hv/Kconfig b/drivers/staging/hv/Kconfig
index 815f8c2f7cdc..072185ebe95b 100644
--- a/drivers/staging/hv/Kconfig
+++ b/drivers/staging/hv/Kconfig
@@ -1,39 +1,17 @@
1config HYPERV
2 tristate "Microsoft Hyper-V client drivers"
3 depends on X86 && ACPI && PCI
4 default n
5 help
6 Select this option to run Linux as a Hyper-V client operating
7 system.
8
9if HYPERV
10
11config HYPERV_STORAGE 1config HYPERV_STORAGE
12 tristate "Microsoft Hyper-V virtual storage driver" 2 tristate "Microsoft Hyper-V virtual storage driver"
13 depends on SCSI 3 depends on HYPERV && SCSI
14 default HYPERV
15 help 4 help
16 Select this option to enable the Hyper-V virtual storage driver. 5 Select this option to enable the Hyper-V virtual storage driver.
17 6
18config HYPERV_NET 7config HYPERV_NET
19 tristate "Microsoft Hyper-V virtual network driver" 8 tristate "Microsoft Hyper-V virtual network driver"
20 depends on NET 9 depends on HYPERV && NET
21 default HYPERV
22 help 10 help
23 Select this option to enable the Hyper-V virtual network driver. 11 Select this option to enable the Hyper-V virtual network driver.
24 12
25config HYPERV_UTILS
26 tristate "Microsoft Hyper-V Utilities driver"
27 depends on CONNECTOR && NLS
28 default HYPERV
29 help
30 Select this option to enable the Hyper-V Utilities.
31
32config HYPERV_MOUSE 13config HYPERV_MOUSE
33 tristate "Microsoft Hyper-V mouse driver" 14 tristate "Microsoft Hyper-V mouse driver"
34 depends on HID 15 depends on HYPERV && HID
35 default HYPERV
36 help 16 help
37 Select this option to enable the Hyper-V mouse driver. 17 Select this option to enable the Hyper-V mouse driver.
38
39endif
diff --git a/drivers/staging/hv/Makefile b/drivers/staging/hv/Makefile
index bd176b1f231e..e071c12c8f69 100644
--- a/drivers/staging/hv/Makefile
+++ b/drivers/staging/hv/Makefile
@@ -1,12 +1,7 @@
1obj-$(CONFIG_HYPERV) += hv_vmbus.o hv_timesource.o 1obj-$(CONFIG_HYPERV) += hv_timesource.o
2obj-$(CONFIG_HYPERV_STORAGE) += hv_storvsc.o 2obj-$(CONFIG_HYPERV_STORAGE) += hv_storvsc.o
3obj-$(CONFIG_HYPERV_NET) += hv_netvsc.o 3obj-$(CONFIG_HYPERV_NET) += hv_netvsc.o
4obj-$(CONFIG_HYPERV_UTILS) += hv_utils.o
5obj-$(CONFIG_HYPERV_MOUSE) += hv_mouse.o 4obj-$(CONFIG_HYPERV_MOUSE) += hv_mouse.o
6 5
7hv_vmbus-y := vmbus_drv.o \
8 hv.o connection.o channel.o \
9 channel_mgmt.o ring_buffer.o
10hv_storvsc-y := storvsc_drv.o 6hv_storvsc-y := storvsc_drv.o
11hv_netvsc-y := netvsc_drv.o netvsc.o rndis_filter.o 7hv_netvsc-y := netvsc_drv.o netvsc.o rndis_filter.o
12hv_utils-y := hv_util.o hv_kvp.o
diff --git a/drivers/staging/hv/hv_mouse.c b/drivers/staging/hv/hv_mouse.c
index edbb4797db75..c354ade76ef5 100644
--- a/drivers/staging/hv/hv_mouse.c
+++ b/drivers/staging/hv/hv_mouse.c
@@ -22,8 +22,7 @@
22#include <linux/input.h> 22#include <linux/input.h>
23#include <linux/hid.h> 23#include <linux/hid.h>
24#include <linux/hiddev.h> 24#include <linux/hiddev.h>
25 25#include <linux/hyperv.h>
26#include "hyperv.h"
27 26
28 27
29struct hv_input_dev_info { 28struct hv_input_dev_info {
diff --git a/drivers/staging/hv/hyperv_net.h b/drivers/staging/hv/hyperv_net.h
index 366dd2b32b13..ac1ec8405124 100644
--- a/drivers/staging/hv/hyperv_net.h
+++ b/drivers/staging/hv/hyperv_net.h
@@ -26,7 +26,7 @@
26#define _HYPERV_NET_H 26#define _HYPERV_NET_H
27 27
28#include <linux/list.h> 28#include <linux/list.h>
29#include "hyperv.h" 29#include <linux/hyperv.h>
30 30
31/* Fwd declaration */ 31/* Fwd declaration */
32struct hv_netvsc_packet; 32struct hv_netvsc_packet;
diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c
index e41271632609..af185abbaa73 100644
--- a/drivers/staging/hv/storvsc_drv.c
+++ b/drivers/staging/hv/storvsc_drv.c
@@ -31,6 +31,7 @@
31#include <linux/slab.h> 31#include <linux/slab.h>
32#include <linux/module.h> 32#include <linux/module.h>
33#include <linux/device.h> 33#include <linux/device.h>
34#include <linux/hyperv.h>
34#include <scsi/scsi.h> 35#include <scsi/scsi.h>
35#include <scsi/scsi_cmnd.h> 36#include <scsi/scsi_cmnd.h>
36#include <scsi/scsi_host.h> 37#include <scsi/scsi_host.h>
@@ -40,7 +41,6 @@
40#include <scsi/scsi_devinfo.h> 41#include <scsi/scsi_devinfo.h>
41#include <scsi/scsi_dbg.h> 42#include <scsi/scsi_dbg.h>
42 43
43#include "hyperv.h"
44 44
45#define STORVSC_RING_BUFFER_SIZE (20*PAGE_SIZE) 45#define STORVSC_RING_BUFFER_SIZE (20*PAGE_SIZE)
46static int storvsc_ringbuffer_size = STORVSC_RING_BUFFER_SIZE; 46static int storvsc_ringbuffer_size = STORVSC_RING_BUFFER_SIZE;
diff --git a/drivers/staging/hv/hyperv.h b/include/linux/hyperv.h
index edaa9e2f58ec..edaa9e2f58ec 100644
--- a/drivers/staging/hv/hyperv.h
+++ b/include/linux/hyperv.h
diff --git a/drivers/staging/hv/tools/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
index 11224eddcdc2..11224eddcdc2 100644
--- a/drivers/staging/hv/tools/hv_kvp_daemon.c
+++ b/tools/hv/hv_kvp_daemon.c