The pcspk device is the only user of isa_register_soundhw, and the only
-soundhw option which does not create a new device (it hacks into the
PCSpkState by hand). Remove it, since it was deprecated.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/audio/pcspk.c | 10 ----------
hw/audio/soundhw.c | 27 ++++-----------------------
include/hw/audio/soundhw.h | 3 ---
3 files changed, 4 insertions(+), 36 deletions(-)
diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c
index dfc7ebca4e..daf92a4ce1 100644
--- a/hw/audio/pcspk.c
+++ b/hw/audio/pcspk.c
@@ -245,18 +245,8 @@ static const TypeInfo pcspk_info = {
.class_init = pcspk_class_initfn,
};
-static int pcspk_audio_init_soundhw(ISABus *bus)
-{
- PCSpkState *s = pcspk_state;
-
- warn_report("'-soundhw pcspk' is deprecated, "
- "please set a backend using '-machine pcspk-audiodev=<name>' instead");
- return pcspk_audio_init(s);
-}
-
static void pcspk_register(void)
{
type_register_static(&pcspk_info);
- isa_register_soundhw("pcspk", "PC speaker", pcspk_audio_init_soundhw);
}
type_init(pcspk_register)
diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c
index 173b674ff5..f7d94d7dfa 100644
--- a/hw/audio/soundhw.c
+++ b/hw/audio/soundhw.c
@@ -36,26 +36,12 @@ struct soundhw {
const char *typename;
int enabled;
int isa;
- union {
- int (*init_isa) (ISABus *bus);
- int (*init_pci) (PCIBus *bus);
- } init;
+ int (*init_pci) (PCIBus *bus);
};
static struct soundhw soundhw[9];
static int soundhw_count;
-void isa_register_soundhw(const char *name, const char *descr,
- int (*init_isa)(ISABus *bus))
-{
- assert(soundhw_count < ARRAY_SIZE(soundhw) - 1);
- soundhw[soundhw_count].name = name;
- soundhw[soundhw_count].descr = descr;
- soundhw[soundhw_count].isa = 1;
- soundhw[soundhw_count].init.init_isa = init_isa;
- soundhw_count++;
-}
-
void pci_register_soundhw(const char *name, const char *descr,
int (*init_pci)(PCIBus *bus))
{
@@ -63,7 +49,7 @@ void pci_register_soundhw(const char *name, const char *descr,
soundhw[soundhw_count].name = name;
soundhw[soundhw_count].descr = descr;
soundhw[soundhw_count].isa = 0;
- soundhw[soundhw_count].init.init_pci = init_pci;
+ soundhw[soundhw_count].init_pci = init_pci;
soundhw_count++;
}
@@ -158,18 +144,13 @@ void soundhw_init(void)
} else {
pci_create_simple(pci_bus, -1, c->typename);
}
- } else if (c->isa) {
- if (!isa_bus) {
- error_report("ISA bus not available for %s", c->name);
- exit(1);
- }
- c->init.init_isa(isa_bus);
} else {
+ assert(!c->isa);
if (!pci_bus) {
error_report("PCI bus not available for %s", c->name);
exit(1);
}
- c->init.init_pci(pci_bus);
+ c->init_pci(pci_bus);
}
}
}
diff --git a/include/hw/audio/soundhw.h b/include/hw/audio/soundhw.h
index f09a297854..e68685fcda 100644
--- a/include/hw/audio/soundhw.h
+++ b/include/hw/audio/soundhw.h
@@ -1,9 +1,6 @@
#ifndef HW_SOUNDHW_H
#define HW_SOUNDHW_H
-void isa_register_soundhw(const char *name, const char *descr,
- int (*init_isa)(ISABus *bus));
-
void pci_register_soundhw(const char *name, const char *descr,
int (*init_pci)(PCIBus *bus));
void deprecated_register_soundhw(const char *name, const char *descr,
--
2.35.1
On 4/27/22 13:32, Paolo Bonzini wrote:
> The pcspk device is the only user of isa_register_soundhw, and the only
> -soundhw option which does not create a new device (it hacks into the
> PCSpkState by hand). Remove it, since it was deprecated.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> hw/audio/pcspk.c | 10 ----------
> hw/audio/soundhw.c | 27 ++++-----------------------
> include/hw/audio/soundhw.h | 3 ---
> 3 files changed, 4 insertions(+), 36 deletions(-)
I'll queue this patch, in the meanwhile feedback on especially 6/6 is
welcome.
Paolo
> diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c
> index dfc7ebca4e..daf92a4ce1 100644
> --- a/hw/audio/pcspk.c
> +++ b/hw/audio/pcspk.c
> @@ -245,18 +245,8 @@ static const TypeInfo pcspk_info = {
> .class_init = pcspk_class_initfn,
> };
>
> -static int pcspk_audio_init_soundhw(ISABus *bus)
> -{
> - PCSpkState *s = pcspk_state;
> -
> - warn_report("'-soundhw pcspk' is deprecated, "
> - "please set a backend using '-machine pcspk-audiodev=<name>' instead");
> - return pcspk_audio_init(s);
> -}
> -
> static void pcspk_register(void)
> {
> type_register_static(&pcspk_info);
> - isa_register_soundhw("pcspk", "PC speaker", pcspk_audio_init_soundhw);
> }
> type_init(pcspk_register)
> diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c
> index 173b674ff5..f7d94d7dfa 100644
> --- a/hw/audio/soundhw.c
> +++ b/hw/audio/soundhw.c
> @@ -36,26 +36,12 @@ struct soundhw {
> const char *typename;
> int enabled;
> int isa;
> - union {
> - int (*init_isa) (ISABus *bus);
> - int (*init_pci) (PCIBus *bus);
> - } init;
> + int (*init_pci) (PCIBus *bus);
> };
>
> static struct soundhw soundhw[9];
> static int soundhw_count;
>
> -void isa_register_soundhw(const char *name, const char *descr,
> - int (*init_isa)(ISABus *bus))
> -{
> - assert(soundhw_count < ARRAY_SIZE(soundhw) - 1);
> - soundhw[soundhw_count].name = name;
> - soundhw[soundhw_count].descr = descr;
> - soundhw[soundhw_count].isa = 1;
> - soundhw[soundhw_count].init.init_isa = init_isa;
> - soundhw_count++;
> -}
> -
> void pci_register_soundhw(const char *name, const char *descr,
> int (*init_pci)(PCIBus *bus))
> {
> @@ -63,7 +49,7 @@ void pci_register_soundhw(const char *name, const char *descr,
> soundhw[soundhw_count].name = name;
> soundhw[soundhw_count].descr = descr;
> soundhw[soundhw_count].isa = 0;
> - soundhw[soundhw_count].init.init_pci = init_pci;
> + soundhw[soundhw_count].init_pci = init_pci;
> soundhw_count++;
> }
>
> @@ -158,18 +144,13 @@ void soundhw_init(void)
> } else {
> pci_create_simple(pci_bus, -1, c->typename);
> }
> - } else if (c->isa) {
> - if (!isa_bus) {
> - error_report("ISA bus not available for %s", c->name);
> - exit(1);
> - }
> - c->init.init_isa(isa_bus);
> } else {
> + assert(!c->isa);
> if (!pci_bus) {
> error_report("PCI bus not available for %s", c->name);
> exit(1);
> }
> - c->init.init_pci(pci_bus);
> + c->init_pci(pci_bus);
> }
> }
> }
> diff --git a/include/hw/audio/soundhw.h b/include/hw/audio/soundhw.h
> index f09a297854..e68685fcda 100644
> --- a/include/hw/audio/soundhw.h
> +++ b/include/hw/audio/soundhw.h
> @@ -1,9 +1,6 @@
> #ifndef HW_SOUNDHW_H
> #define HW_SOUNDHW_H
>
> -void isa_register_soundhw(const char *name, const char *descr,
> - int (*init_isa)(ISABus *bus));
> -
> void pci_register_soundhw(const char *name, const char *descr,
> int (*init_pci)(PCIBus *bus));
> void deprecated_register_soundhw(const char *name, const char *descr,
© 2016 - 2026 Red Hat, Inc.