On 2/9/21 8:29 PM, Mark Cave-Ayland wrote:
Make this new QOM device state a child device of both the sysbus-esp and esp-pci
implementations.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
hw/scsi/esp-pci.c | 48 +++++++++++++++++++++++++++++++------------
hw/scsi/esp.c | 45 +++++++++++++++++++++++++++++++++-------
include/hw/scsi/esp.h | 5 +++++
3 files changed, 78 insertions(+), 20 deletions(-)
Please setup scripts/git.orderfile ;)
@@ -354,9 +365,11 @@ static void esp_pci_scsi_realize(PCIDevice *dev, Error
**errp)
{
PCIESPState *pci = PCI_ESP(dev);
DeviceState *d = DEVICE(dev);
- ESPState *s = &pci->esp;
+ ESPState *s = ESP(&pci->esp);
uint8_t *pci_conf;
+ qdev_realize(DEVICE(s), NULL, errp);
if (!qdev_realize(DEVICE(s), NULL, errp)) {
return;
}
pci_conf = dev->config;
/* Interrupt pin A */
@@ -375,11 +388,19 @@ static void esp_pci_scsi_realize(PCIDevice *dev, Error
**errp)
scsi_bus_new(&s->bus, sizeof(s->bus), d, &esp_pci_scsi_info, NULL);
}
...
@@ -956,7 +958,9 @@ static void sysbus_esp_realize(DeviceState *dev, Error
**errp)
{
SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
SysBusESPState *sysbus = SYSBUS_ESP(dev);
- ESPState *s = &sysbus->esp;
+ ESPState *s = ESP(&sysbus->esp);
+
+ qdev_realize(DEVICE(s), NULL, errp);
if (!qdev_realize(DEVICE(s), NULL, errp)) {
return;
}
With both if():
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>