Commit f81222bc authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Anthony Liguori
Browse files

audio: look for the ISA and PCI buses



Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Message-id: 1366303444-24620-8-git-send-email-pbonzini@redhat.com
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent 2e1103f6
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -987,20 +987,26 @@ void select_soundhw(const char *optarg)
    }
}

void audio_init(ISABus *isa_bus, PCIBus *pci_bus)
void audio_init(void)
{
    struct soundhw *c;
    ISABus *isa_bus = (ISABus *) object_resolve_path_type("", TYPE_ISA_BUS, NULL);
    PCIBus *pci_bus = (PCIBus *) object_resolve_path_type("", TYPE_PCI_BUS, NULL);

    for (c = soundhw; c->name; ++c) {
        if (c->enabled) {
            if (c->isa) {
                if (isa_bus) {
                    c->init.init_isa(isa_bus);
                if (!isa_bus) {
                    fprintf(stderr, "ISA bus not available for %s\n", c->name);
                    exit(1);
                }
                c->init.init_isa(isa_bus);
            } else {
                if (pci_bus) {
                    c->init.init_pci(pci_bus);
                if (!pci_bus) {
                    fprintf(stderr, "PCI bus not available for %s\n", c->name);
                    exit(1);
                }
                c->init.init_pci(pci_bus);
            }
        }
    }
+1 −2
Original line number Diff line number Diff line
@@ -88,7 +88,6 @@ static void pc_init1(MemoryRegion *system_memory,
    void *fw_cfg = NULL;

    pc_cpus_init(cpu_model);
    pc_acpi_init("acpi-dsdt.aml");

    if (kvmclock_enabled) {
        kvmclock_create();
@@ -194,7 +193,7 @@ static void pc_init1(MemoryRegion *system_memory,
        }
    }

    audio_init(isa_bus, pci_enabled ? pci_bus : NULL);
    audio_init();

    pc_cmos_init(below_4g_mem_size, above_4g_mem_size, boot_device,
                 floppy, idebus[0], idebus[1], rtc_state);
+1 −1
Original line number Diff line number Diff line
@@ -189,7 +189,7 @@ static void pc_q35_init(QEMUMachineInitArgs *args)

    /* the rest devices to which pci devfn is automatically assigned */
    pc_vga_init(isa_bus, host_bus);
    audio_init(isa_bus, host_bus);
    audio_init();
    pc_nic_init(isa_bus, host_bus);
    if (pci_enabled) {
        pc_pci_device_init(host_bus);
+1 −1
Original line number Diff line number Diff line
@@ -290,7 +290,7 @@ static void mips_jazz_init(MemoryRegion *address_space,

    /* Sound card */
    /* FIXME: missing Jazz sound at 0x8000c000, rc4030[2] */
    audio_init(isa_bus, NULL);
    audio_init();

    /* NVRAM */
    dev = qdev_create(NULL, "ds1225y");
+1 −1
Original line number Diff line number Diff line
@@ -986,7 +986,7 @@ void mips_malta_init(QEMUMachineInitArgs *args)
    fdctrl_init_isa(isa_bus, fd);

    /* Sound card */
    audio_init(isa_bus, pci_bus);
    audio_init();

    /* Network card */
    network_init();
Loading