@@ -129,7 +129,7 @@ int pci_drive_hot_add(Monitor *mon, const QDict *qdict, DriveInfo *dinfo)
monitor_printf(mon, "no pci device with address %s\n", pci_addr);
goto err;
}
- if (scsi_hot_add(mon, &dev->qdev, dinfo, 1) != 0) {
+ if (scsi_hot_add(mon, DEVICE(dev), dinfo, 1) != 0) {
goto err;
}
break;
@@ -193,11 +193,12 @@ static PCIDevice *qemu_pci_hot_add_storage(Monitor *mon,
switch (type) {
case IF_SCSI:
dev = pci_create(bus, devfn, "lsi53c895a");
- if (qdev_init(&dev->qdev) < 0)
+ if (qdev_init(DEVICE(dev)) < 0) {
dev = NULL;
+ }
if (dev && dinfo) {
- if (scsi_hot_add(mon, &dev->qdev, dinfo, 0) != 0) {
- qdev_unplug(&dev->qdev, NULL);
+ if (scsi_hot_add(mon, DEVICE(dev), dinfo, 0) != 0) {
+ qdev_unplug(DEVICE(dev), NULL);
dev = NULL;
}
}
@@ -208,13 +209,14 @@ static PCIDevice *qemu_pci_hot_add_storage(Monitor *mon,
return NULL;
}
dev = pci_create(bus, devfn, "virtio-blk-pci");
- if (qdev_prop_set_drive(&dev->qdev, "drive", dinfo->bdrv) < 0) {
- qdev_free(&dev->qdev);
+ if (qdev_prop_set_drive(DEVICE(dev), "drive", dinfo->bdrv) < 0) {
+ qdev_free(DEVICE(dev));
dev = NULL;
break;
}
- if (qdev_init(&dev->qdev) < 0)
+ if (qdev_init(DEVICE(dev)) < 0) {
dev = NULL;
+ }
break;
default:
dev = NULL;
@@ -276,7 +278,7 @@ static int pci_device_hot_remove(Monitor *mon, const char *pci_addr)
return -1;
}
- qdev_unplug(&d->qdev, &local_err);
+ qdev_unplug(DEVICE(d), &local_err);
if (error_is_set(&local_err)) {
monitor_printf(mon, "%s\n", error_get_pretty(local_err));
error_free(local_err);
@@ -177,7 +177,7 @@ void pci_device_reset(PCIDevice *dev)
{
int r;
- qdev_reset_all(&dev->qdev);
+ qdev_reset_all(DEVICE(dev));
dev->irq_state = 0;
pci_update_irq_status(dev);
@@ -1446,6 +1446,7 @@ static PciBridgeInfo *qmp_query_pci_bridge(PCIDevice *dev, PCIBus *bus,
static PciDeviceInfo *qmp_query_pci_device(PCIDevice *dev, PCIBus *bus,
int bus_num)
{
+ DeviceState *d = DEVICE(dev);
const pci_class_desc *desc;
PciDeviceInfo *info;
uint8_t type;
@@ -1467,7 +1468,7 @@ static PciDeviceInfo *qmp_query_pci_device(PCIDevice *dev, PCIBus *bus,
info->id.vendor = pci_get_word(dev->config + PCI_VENDOR_ID);
info->id.device = pci_get_word(dev->config + PCI_DEVICE_ID);
info->regions = qmp_query_pci_regions(dev);
- info->qdev_id = g_strdup(dev->qdev.id ? dev->qdev.id : "");
+ info->qdev_id = g_strdup(d->id ? d->id : "");
if (dev->config[PCI_INTERRUPT_PIN] != 0) {
info->has_irq = true;
@@ -1591,7 +1592,7 @@ PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model,
}
pci_dev = pci_create(bus, devfn, pci_nic_names[i]);
- dev = &pci_dev->qdev;
+ dev = DEVICE(pci_dev);
qdev_set_nic_properties(dev, nd);
if (qdev_init(dev) < 0)
return NULL;
@@ -1731,7 +1732,7 @@ static int pci_qdev_init(DeviceState *qdev)
qdev->hotplugged ? PCI_HOTPLUG_ENABLED:
PCI_COLDPLUG_ENABLED);
if (rc != 0) {
- int r = pci_unregister_device(&pci_dev->qdev);
+ int r = pci_unregister_device(DEVICE(pci_dev));
assert(!r);
return rc;
}
@@ -1768,7 +1769,7 @@ PCIDevice *pci_create_simple_multifunction(PCIBus *bus, int devfn,
const char *name)
{
PCIDevice *dev = pci_create_multifunction(bus, devfn, multifunction, name);
- qdev_init_nofail(&dev->qdev);
+ qdev_init_nofail(DEVICE(dev));
return dev;
}
@@ -1946,7 +1947,7 @@ static int pci_add_option_rom(PCIDevice *pdev, bool is_default_rom)
}
pdev->has_rom = true;
memory_region_init_ram(&pdev->rom, name, size);
- vmstate_register_ram(&pdev->rom, &pdev->qdev);
+ vmstate_register_ram(&pdev->rom, DEVICE(pdev));
ptr = memory_region_get_ram_ptr(&pdev->rom);
load_image(path, ptr);
g_free(path);
@@ -1966,7 +1967,7 @@ static void pci_del_option_rom(PCIDevice *pdev)
if (!pdev->has_rom)
return;
- vmstate_unregister_ram(&pdev->rom, &pdev->qdev);
+ vmstate_unregister_ram(&pdev->rom, DEVICE(pdev));
memory_region_destroy(&pdev->rom);
pdev->has_rom = false;
}
@@ -2126,7 +2127,7 @@ static char *pcibus_get_fw_dev_path(DeviceState *dev)
static char *pcibus_get_dev_path(DeviceState *dev)
{
- PCIDevice *d = container_of(dev, PCIDevice, qdev);
+ PCIDevice *d = PCI_DEVICE(dev);
PCIDevice *t;
int slot_depth;
/* Path format: Domain:00:Slot.Function:Slot.Function....:Slot.Function.
@@ -251,7 +251,7 @@ static int pcie_cap_slot_hotplug(DeviceState *qdev,
PCI_EXP_SLTSTA_PDS);
pcie_cap_slot_event(d, PCI_EXP_HP_EV_PDC);
} else {
- qdev_free(&pci_dev->qdev);
+ qdev_free(DEVICE(pci_dev));
pci_word_test_and_clear_mask(exp_cap + PCI_EXP_SLTSTA,
PCI_EXP_SLTSTA_PDS);
pcie_cap_slot_event(d, PCI_EXP_HP_EV_PDC);
@@ -306,7 +306,7 @@ void pcie_cap_slot_init(PCIDevice *dev, uint16_t slot)
dev->exp.hpev_notified = false;
pci_bus_hotplug(pci_bridge_get_sec_bus(DO_UPCAST(PCIBridge, dev, dev)),
- pcie_cap_slot_hotplug, &dev->qdev);
+ pcie_cap_slot_hotplug, DEVICE(dev));
}
void pcie_cap_slot_reset(PCIDevice *dev)
@@ -252,9 +252,9 @@ static void shpc_free_devices_in_slot(SHPCDevice *shpc, int slot)
for (devfn = PCI_DEVFN(pci_slot, 0);
devfn <= PCI_DEVFN(pci_slot, PCI_FUNC_MAX - 1);
++devfn) {
- PCIDevice *affected_dev = shpc->sec_bus->devices[devfn];
+ DeviceState *affected_dev = DEVICE(shpc->sec_bus->devices[devfn]);
if (affected_dev) {
- qdev_free(&affected_dev->qdev);
+ qdev_free(affected_dev);
}
}
}
@@ -497,7 +497,7 @@ static int shpc_device_hotplug(DeviceState *qdev, PCIDevice *affected_dev,
int pci_slot = PCI_SLOT(affected_dev->devfn);
uint8_t state;
uint8_t led;
- PCIDevice *d = DO_UPCAST(PCIDevice, qdev, qdev);
+ PCIDevice *d = PCI_DEVICE(qdev);
SHPCDevice *shpc = d->shpc;
int slot = SHPC_PCI_TO_IDX(pci_slot);
if (pci_slot < SHPC_IDX_TO_PCI(0) || slot >= shpc->nslots) {
@@ -616,7 +616,7 @@ int shpc_init(PCIDevice *d, PCIBus *sec_bus, MemoryRegion *bar, unsigned offset)
SHPC_SIZEOF(d));
shpc_cap_update_dword(d);
memory_region_add_subregion(bar, offset, &shpc->mmio);
- pci_bus_hotplug(sec_bus, shpc_device_hotplug, &d->qdev);
+ pci_bus_hotplug(sec_bus, shpc_device_hotplug, DEVICE(d));
d->cap_present |= QEMU_PCI_CAP_SHPC;
return 0;