From c9940edb473cbaeac565b3a420fdfcc0b6c31e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Thu, 15 Dec 2011 22:09:57 +0100 Subject: [PATCH] fulong2e: give ISA bus to ISA methods MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hervé Poussineau Signed-off-by: Anthony Liguori --- hw/mips_fulong2e.c | 6 ++---- hw/vt82c686.c | 4 ++-- hw/vt82c686.h | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/hw/mips_fulong2e.c b/hw/mips_fulong2e.c index e6e120cb80..5e87665188 100644 --- a/hw/mips_fulong2e.c +++ b/hw/mips_fulong2e.c @@ -264,7 +264,6 @@ static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device, int64_t kernel_entry; qemu_irq *i8259; qemu_irq *cpu_exit_irq; - int via_devfn; PCIBus *pci_bus; ISABus *isa_bus; i2c_bus *smbus; @@ -338,12 +337,11 @@ static void mips_fulong2e_init(ram_addr_t ram_size, const char *boot_device, /* South bridge */ ide_drive_get(hd, MAX_IDE_BUS); - via_devfn = vt82c686b_init(pci_bus, PCI_DEVFN(FULONG2E_VIA_SLOT, 0)); - if (via_devfn < 0) { + isa_bus = vt82c686b_init(pci_bus, PCI_DEVFN(FULONG2E_VIA_SLOT, 0)); + if (!isa_bus) { fprintf(stderr, "vt82c686b_init error\n"); exit(1); } - isa_bus = NULL; /* Interrupt controller */ /* The 8259 -> IP5 */ diff --git a/hw/vt82c686.c b/hw/vt82c686.c index 284595905d..038128b84c 100644 --- a/hw/vt82c686.c +++ b/hw/vt82c686.c @@ -507,13 +507,13 @@ static int vt82c686b_initfn(PCIDevice *d) return 0; } -int vt82c686b_init(PCIBus *bus, int devfn) +ISABus *vt82c686b_init(PCIBus *bus, int devfn) { PCIDevice *d; d = pci_create_simple_multifunction(bus, devfn, true, "VT82C686B"); - return d->devfn; + return DO_UPCAST(ISABus, qbus, qdev_get_child_bus(&d->qdev, "isa.0")); } static PCIDeviceInfo via_info = { diff --git a/hw/vt82c686.h b/hw/vt82c686.h index e3270cafd7..6ef876d260 100644 --- a/hw/vt82c686.h +++ b/hw/vt82c686.h @@ -2,7 +2,7 @@ #define HW_VT82C686_H /* vt82c686.c */ -int vt82c686b_init(PCIBus * bus, int devfn); +ISABus *vt82c686b_init(PCIBus * bus, int devfn); void vt82c686b_ac97_init(PCIBus *bus, int devfn); void vt82c686b_mc97_init(PCIBus *bus, int devfn); i2c_bus *vt82c686b_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base,