From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LQ5Gj-0001KQ-G6 for qemu-devel@nongnu.org; Thu, 22 Jan 2009 14:31:13 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LQ5Gi-0001I7-LV for qemu-devel@nongnu.org; Thu, 22 Jan 2009 14:31:12 -0500 Received: from [199.232.76.173] (port=38449 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LQ5Gh-0001Hz-Fn for qemu-devel@nongnu.org; Thu, 22 Jan 2009 14:31:11 -0500 Received: from oxygen.pond.sub.org ([213.239.205.148]:60675) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LQ5Gg-0006J6-JJ for qemu-devel@nongnu.org; Thu, 22 Jan 2009 14:31:11 -0500 Received: from pike.pond.sub.org (pD9E3B496.dip.t-dialin.net [217.227.180.150]) by oxygen.pond.sub.org (Postfix) with ESMTPA id B9AAB2DAA65 for ; Thu, 22 Jan 2009 20:31:06 +0100 (CET) From: Markus Armbruster Date: Thu, 22 Jan 2009 20:31:05 +0100 Message-Id: <1232652665-1710-9-git-send-email-armbru@redhat.com> In-Reply-To: <87ocxzrvqb.fsf@pike.pond.sub.org> References: <87ocxzrvqb.fsf@pike.pond.sub.org> Subject: [Qemu-devel] [PATCH 9/9] Support pci=... in option argument of -audio Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org From: Markus Armbruster --- 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