pc: remove -soundhw pcspk

The pcspk device is the only user of the init_isa function, 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>
This commit is contained in:
Paolo Bonzini 2022-04-27 12:01:48 +02:00
parent 2df89d5420
commit 6033b9ecd4
3 changed files with 4 additions and 36 deletions

View File

@ -245,18 +245,8 @@ static const TypeInfo pcspk_info = {
.class_init = pcspk_class_initfn, .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) static void pcspk_register(void)
{ {
type_register_static(&pcspk_info); type_register_static(&pcspk_info);
isa_register_soundhw("pcspk", "PC speaker", pcspk_audio_init_soundhw);
} }
type_init(pcspk_register) type_init(pcspk_register)

View File

@ -36,26 +36,12 @@ struct soundhw {
const char *typename; const char *typename;
int enabled; int enabled;
int isa; int isa;
union {
int (*init_isa) (ISABus *bus);
int (*init_pci) (PCIBus *bus); int (*init_pci) (PCIBus *bus);
} init;
}; };
static struct soundhw soundhw[9]; static struct soundhw soundhw[9];
static int soundhw_count; 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, void pci_register_soundhw(const char *name, const char *descr,
int (*init_pci)(PCIBus *bus)) 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].name = name;
soundhw[soundhw_count].descr = descr; soundhw[soundhw_count].descr = descr;
soundhw[soundhw_count].isa = 0; soundhw[soundhw_count].isa = 0;
soundhw[soundhw_count].init.init_pci = init_pci; soundhw[soundhw_count].init_pci = init_pci;
soundhw_count++; soundhw_count++;
} }
@ -158,18 +144,13 @@ void soundhw_init(void)
} else { } else {
pci_create_simple(pci_bus, -1, c->typename); 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 { } else {
assert(!c->isa);
if (!pci_bus) { if (!pci_bus) {
error_report("PCI bus not available for %s", c->name); error_report("PCI bus not available for %s", c->name);
exit(1); exit(1);
} }
c->init.init_pci(pci_bus); c->init_pci(pci_bus);
} }
} }
} }

View File

@ -1,9 +1,6 @@
#ifndef HW_SOUNDHW_H #ifndef HW_SOUNDHW_H
#define 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, void pci_register_soundhw(const char *name, const char *descr,
int (*init_pci)(PCIBus *bus)); int (*init_pci)(PCIBus *bus));
void deprecated_register_soundhw(const char *name, const char *descr, void deprecated_register_soundhw(const char *name, const char *descr,