[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 9/9] Support pci=... in option argument of -audio
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 9/9] Support pci=... in option argument of -audio |
Date: |
Thu, 22 Jan 2009 20:31:05 +0100 |
From: Markus Armbruster <address@hidden>
---
hw/ac97.c | 11 +++--------
hw/audiodev.h | 4 ++--
hw/es1370.c | 11 +++--------
hw/mips_malta.c | 6 +++---
hw/pc.c | 11 ++++-------
sysemu.h | 2 +-
6 files changed, 16 insertions(+), 29 deletions(-)
diff --git a/hw/ac97.c b/hw/ac97.c
index dc9a165..eab56a8 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -1308,25 +1308,20 @@ static void ac97_on_reset (void *opaque)
mixer_reset (s);
}
-int ac97_init (PCIBus *bus, AudioState *audio)
+int ac97_init (AudioState *audio, const char *opts)
{
PCIAC97LinkState *d;
AC97LinkState *s;
uint8_t *c;
- if (!bus) {
- AUD_log ("ac97", "No PCI bus\n");
- return -1;
- }
-
if (!audio) {
AUD_log ("ac97", "No audio state\n");
return -1;
}
- d = (PCIAC97LinkState *) pci_register_device (bus, "AC97",
+ d = (PCIAC97LinkState *) pci_register_device_2("AC97", opts,
sizeof (PCIAC97LinkState),
- -1, NULL, NULL);
+ NULL, NULL);
if (!d) {
AUD_log ("ac97", "Failed to register PCI device\n");
diff --git a/hw/audiodev.h b/hw/audiodev.h
index 5f4a211..8b7ff9b 100644
--- a/hw/audiodev.h
+++ b/hw/audiodev.h
@@ -1,5 +1,5 @@
/* es1370.c */
-int es1370_init (PCIBus *bus, AudioState *s);
+int es1370_init (AudioState *s, const char *opts);
/* sb16.c */
int SB16_init (AudioState *s, qemu_irq *pic);
@@ -11,7 +11,7 @@ int Adlib_init (AudioState *s, qemu_irq *pic);
int GUS_init (AudioState *s, qemu_irq *pic);
/* ac97.c */
-int ac97_init (PCIBus *buf, AudioState *s);
+int ac97_init (AudioState *s, const char *opts);
/* cs4231a.c */
int cs4231a_init (AudioState *s, qemu_irq *pic);
diff --git a/hw/es1370.c b/hw/es1370.c
index bad237d..5f77ca4 100644
--- a/hw/es1370.c
+++ b/hw/es1370.c
@@ -1005,25 +1005,20 @@ static void es1370_on_reset (void *opaque)
es1370_reset (s);
}
-int es1370_init (PCIBus *bus, AudioState *audio)
+int es1370_init (AudioState *audio, const char *opts)
{
PCIES1370State *d;
ES1370State *s;
uint8_t *c;
- if (!bus) {
- dolog ("No PCI bus\n");
- return -1;
- }
-
if (!audio) {
dolog ("No audio state\n");
return -1;
}
- d = (PCIES1370State *) pci_register_device (bus, "ES1370",
+ d = (PCIES1370State *) pci_register_device_2 ("ES1370", opts,
sizeof (PCIES1370State),
- -1, NULL, NULL);
+ NULL, NULL);
if (!d) {
AUD_log (NULL, "Failed to register PCI device for ES1370\n");
diff --git a/hw/mips_malta.c b/hw/mips_malta.c
index bce141d..066bf15 100644
--- a/hw/mips_malta.c
+++ b/hw/mips_malta.c
@@ -459,7 +459,7 @@ static MaltaFPGAState *malta_fpga_init(target_phys_addr_t
base, qemu_irq uart_ir
/* Audio support */
#ifdef HAS_AUDIO
-static void audio_init (PCIBus *pci_bus)
+static void audio_init (void)
{
struct soundhw *c;
int audio_enabled = 0;
@@ -475,7 +475,7 @@ static void audio_init (PCIBus *pci_bus)
if (s) {
for (c = soundhw; c->name; ++c) {
if (c->enabled)
- c->init.init_pci (pci_bus, s);
+ c->init.init_pci (s, c->opts);
}
}
}
@@ -927,7 +927,7 @@ void mips_malta_init (ram_addr_t ram_size, int vga_ram_size,
/* Sound card */
#ifdef HAS_AUDIO
- audio_init(pci_bus);
+ audio_init();
#endif
/* Network card */
diff --git a/hw/pc.c b/hw/pc.c
index 5fd8356..deb8dcb 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -709,7 +709,7 @@ static int parallel_io[MAX_PARALLEL_PORTS] = { 0x378,
0x278, 0x3bc };
static int parallel_irq[MAX_PARALLEL_PORTS] = { 7, 7, 7 };
#ifdef HAS_AUDIO
-static void audio_init (PCIBus *pci_bus, qemu_irq *pic)
+static void audio_init (qemu_irq *pic)
{
struct soundhw *c;
int audio_enabled = 0;
@@ -727,11 +727,8 @@ static void audio_init (PCIBus *pci_bus, qemu_irq *pic)
if (c->enabled) {
if (c->isa) {
c->init.init_isa (s, pic);
- }
- else {
- if (pci_bus) {
- c->init.init_pci (pci_bus, s);
- }
+ } else {
+ c->init.init_pci (s, c->opts);
}
}
}
@@ -1034,7 +1031,7 @@ vga_bios_error:
i8042_init(i8259[1], i8259[12], 0x60);
DMA_init(0);
#ifdef HAS_AUDIO
- audio_init(pci_enabled ? pci_bus : NULL, i8259);
+ audio_init(i8259);
#endif
for(i = 0; i < MAX_FD; i++) {
diff --git a/sysemu.h b/sysemu.h
index c47318b..cac3fa7 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -204,7 +204,7 @@ struct soundhw {
int isa;
union {
int (*init_isa) (AudioState *s, qemu_irq *pic);
- int (*init_pci) (PCIBus *bus, AudioState *s);
+ int (*init_pci) (AudioState *s, const char *opts);
} init;
};
--
1.6.0.6
- [Qemu-devel] [RFC PATCH 0/9] Configurable PCI device addresses, Markus Armbruster, 2009/01/22
- [Qemu-devel] [PATCH 9/9] Support pci=... in option argument of -audio,
Markus Armbruster <=
- [Qemu-devel] [PATCH 3/9] Support pci=... in option argument of -vga, Markus Armbruster, 2009/01/22
- [Qemu-devel] [PATCH 2/9] Clean up handling of name=value, ... part of -vga option argument, Markus Armbruster, 2009/01/22
- [Qemu-devel] [PATCH 5/9] Support pci=... in option argument of -net nic, Markus Armbruster, 2009/01/22
- [Qemu-devel] [PATCH 4/9] Convert virtio_init_pci() to pci_register_device_2(), Markus Armbruster, 2009/01/22
- [Qemu-devel] [PATCH 8/9] New option -audio as a more flexible alternative to -soundhw, Markus Armbruster, 2009/01/22