Call pci_piix3_xen_ide_unplug from unplug_disks

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Stefano Stabellini 2014-02-20 17:28:08 +00:00
parent 2ca92bb993
commit 15e8159e76
3 changed files with 4 additions and 3 deletions

View File

@ -167,7 +167,7 @@ static int pci_piix_ide_initfn(PCIDevice *dev)
return 0; return 0;
} }
static int pci_piix3_xen_ide_unplug(DeviceState *dev) int pci_piix3_xen_ide_unplug(DeviceState *dev)
{ {
PCIIDEState *pci_ide; PCIIDEState *pci_ide;
DriveInfo *di; DriveInfo *di;
@ -266,7 +266,6 @@ static void piix3_ide_xen_class_init(ObjectClass *klass, void *data)
k->device_id = PCI_DEVICE_ID_INTEL_82371SB_1; k->device_id = PCI_DEVICE_ID_INTEL_82371SB_1;
k->class_id = PCI_CLASS_STORAGE_IDE; k->class_id = PCI_CLASS_STORAGE_IDE;
set_bit(DEVICE_CATEGORY_STORAGE, dc->categories); set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
dc->unplug = pci_piix3_xen_ide_unplug;
} }
static const TypeInfo piix3_ide_xen_info = { static const TypeInfo piix3_ide_xen_info = {

View File

@ -27,6 +27,7 @@
#include "hw/hw.h" #include "hw/hw.h"
#include "hw/i386/pc.h" #include "hw/i386/pc.h"
#include "hw/ide.h"
#include "hw/pci/pci.h" #include "hw/pci/pci.h"
#include "hw/irq.h" #include "hw/irq.h"
#include "hw/xen/xen_common.h" #include "hw/xen/xen_common.h"
@ -110,7 +111,7 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void *o)
if (pci_get_word(d->config + PCI_CLASS_DEVICE) == if (pci_get_word(d->config + PCI_CLASS_DEVICE) ==
PCI_CLASS_STORAGE_IDE PCI_CLASS_STORAGE_IDE
&& strcmp(d->name, "xen-pci-passthrough") != 0) { && strcmp(d->name, "xen-pci-passthrough") != 0) {
qdev_unplug(DEVICE(d), NULL); pci_piix3_xen_ide_unplug(DEVICE(d));
} }
} }

View File

@ -17,6 +17,7 @@ void pci_cmd646_ide_init(PCIBus *bus, DriveInfo **hd_table,
PCIDevice *pci_piix3_xen_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn); PCIDevice *pci_piix3_xen_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
PCIDevice *pci_piix3_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn); PCIDevice *pci_piix3_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn); PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
int pci_piix3_xen_ide_unplug(DeviceState *dev);
void vt82c686b_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn); void vt82c686b_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
/* ide-mmio.c */ /* ide-mmio.c */