Skip to content

Commit

Permalink
Staging: hv: storvsc: Handle IDE devices using the storvsc driver
Browse files Browse the repository at this point in the history
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: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
K. Y. Srinivasan authored and Greg Kroah-Hartman committed Aug 29, 2011
1 parent bd1f5d6 commit 21e3774
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 22 deletions.
7 changes: 0 additions & 7 deletions drivers/staging/hv/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,6 @@ config HYPERV_STORAGE
help
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
tristate "Microsoft Hyper-V virtual network driver"
depends on NET
Expand Down
2 changes: 0 additions & 2 deletions drivers/staging/hv/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
obj-$(CONFIG_HYPERV) += hv_vmbus.o hv_timesource.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_UTILS) += hv_utils.o
obj-$(CONFIG_HYPERV_MOUSE) += hv_mouse.o
Expand All @@ -9,6 +8,5 @@ hv_vmbus-y := vmbus_drv.o \
hv.o connection.o channel.o \
channel_mgmt.o ring_buffer.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_utils-y := hv_util.o hv_kvp.o
21 changes: 8 additions & 13 deletions drivers/staging/hv/storvsc_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -645,27 +645,22 @@ static struct scsi_host_template scsi_driver = {
.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[] = {
/* SCSI guid */
{ VMBUS_DEVICE(0xd9, 0x63, 0x61, 0xba, 0xa1, 0x04, 0x29, 0x4d,
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);

/*
* 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
Expand All @@ -681,7 +676,7 @@ static int storvsc_probe(struct hv_device *device)
int path = 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;
else
dev_is_ide = false;
Expand Down

0 comments on commit 21e3774

Please sign in to comment.