qemu-devel
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]