Commit 21e37742 authored by K. Y. Srinivasan's avatar K. Y. Srinivasan Committed by Greg Kroah-Hartman

Staging: hv: storvsc: Handle IDE devices using the storvsc driver

Now, enable handling of all IDE devices by extending the storvsc
device id table to handle IDE guid. As part of this cleanup Kconfig
and Hyper-V Makefile to not build the IDE driver (blkvsc).
Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent bd1f5d6a
...@@ -15,13 +15,6 @@ config HYPERV_STORAGE ...@@ -15,13 +15,6 @@ config HYPERV_STORAGE
help help
Select this option to enable the Hyper-V virtual storage driver. Select this option to enable the Hyper-V virtual storage driver.
config HYPERV_BLOCK
tristate "Microsoft Hyper-V virtual block driver"
depends on BLOCK && SCSI && (LBDAF || 64BIT)
default HYPERV
help
Select this option to enable the Hyper-V virtual block driver.
config HYPERV_NET config HYPERV_NET
tristate "Microsoft Hyper-V virtual network driver" tristate "Microsoft Hyper-V virtual network driver"
depends on NET depends on NET
......
obj-$(CONFIG_HYPERV) += hv_vmbus.o hv_timesource.o obj-$(CONFIG_HYPERV) += hv_vmbus.o hv_timesource.o
obj-$(CONFIG_HYPERV_STORAGE) += hv_storvsc.o obj-$(CONFIG_HYPERV_STORAGE) += hv_storvsc.o
obj-$(CONFIG_HYPERV_BLOCK) += hv_blkvsc.o
obj-$(CONFIG_HYPERV_NET) += hv_netvsc.o obj-$(CONFIG_HYPERV_NET) += hv_netvsc.o
obj-$(CONFIG_HYPERV_UTILS) += hv_utils.o obj-$(CONFIG_HYPERV_UTILS) += hv_utils.o
obj-$(CONFIG_HYPERV_MOUSE) += hv_mouse.o obj-$(CONFIG_HYPERV_MOUSE) += hv_mouse.o
...@@ -9,6 +8,5 @@ hv_vmbus-y := vmbus_drv.o \ ...@@ -9,6 +8,5 @@ hv_vmbus-y := vmbus_drv.o \
hv.o connection.o channel.o \ hv.o connection.o channel.o \
channel_mgmt.o ring_buffer.o channel_mgmt.o ring_buffer.o
hv_storvsc-y := storvsc_drv.o storvsc.o hv_storvsc-y := storvsc_drv.o storvsc.o
hv_blkvsc-y := blkvsc_drv.o storvsc.o
hv_netvsc-y := netvsc_drv.o netvsc.o rndis_filter.o hv_netvsc-y := netvsc_drv.o netvsc.o rndis_filter.o
hv_utils-y := hv_util.o hv_kvp.o hv_utils-y := hv_util.o hv_kvp.o
...@@ -645,27 +645,22 @@ static struct scsi_host_template scsi_driver = { ...@@ -645,27 +645,22 @@ static struct scsi_host_template scsi_driver = {
.dma_boundary = PAGE_SIZE-1, .dma_boundary = PAGE_SIZE-1,
}; };
/*
* The storvsc_probe function assumes that the IDE guid
* is the second entry.
*/
static const struct hv_vmbus_device_id id_table[] = { static const struct hv_vmbus_device_id id_table[] = {
/* SCSI guid */ /* SCSI guid */
{ VMBUS_DEVICE(0xd9, 0x63, 0x61, 0xba, 0xa1, 0x04, 0x29, 0x4d, { VMBUS_DEVICE(0xd9, 0x63, 0x61, 0xba, 0xa1, 0x04, 0x29, 0x4d,
0xb6, 0x05, 0x72, 0xe2, 0xff, 0xb1, 0xdc, 0x7f) }, 0xb6, 0x05, 0x72, 0xe2, 0xff, 0xb1, 0xdc, 0x7f) },
/* IDE guid */
{ VMBUS_DEVICE(0x32, 0x26, 0x41, 0x32, 0xcb, 0x86, 0xa2, 0x44,
0x9b, 0x5c, 0x50, 0xd1, 0x41, 0x73, 0x54, 0xf5) },
{ }, { },
}; };
MODULE_DEVICE_TABLE(vmbus, id_table); MODULE_DEVICE_TABLE(vmbus, id_table);
/*
* This declaration is temporary; once we get the
* infrastructure in place, we will integrate with
* id_table.
*/
static const uuid_le ide_blk_guid = {
.b = {
0x32, 0x26, 0x41, 0x32, 0xcb, 0x86, 0xa2, 0x44,
0x9b, 0x5c, 0x50, 0xd1, 0x41, 0x73, 0x54, 0xf5
}
};
/* /*
* storvsc_probe - Add a new device for this driver * storvsc_probe - Add a new device for this driver
...@@ -681,7 +676,7 @@ static int storvsc_probe(struct hv_device *device) ...@@ -681,7 +676,7 @@ static int storvsc_probe(struct hv_device *device)
int path = 0; int path = 0;
int target = 0; int target = 0;
if (!uuid_le_cmp(device->dev_type, ide_blk_guid)) if (!memcmp(&device->dev_type.b, id_table[1].guid, sizeof(uuid_le)))
dev_is_ide = true; dev_is_ide = true;
else else
dev_is_ide = false; dev_is_ide = false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment