audio: add deprecated_register_soundhw
Add helper function for -soundhw deprecation. It can replace the simple init functions which just call {isa,pci}_create_simple() with a hardcoded type. It also prints a deprecation message. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-id: 20200702132525.6849-4-kraxel@redhat.com
This commit is contained in:
parent
3af87d9169
commit
542e0c557b
@ -22,6 +22,7 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
|
#include "qemu/option.h"
|
||||||
#include "qemu/help_option.h"
|
#include "qemu/help_option.h"
|
||||||
#include "qemu/error-report.h"
|
#include "qemu/error-report.h"
|
||||||
#include "qom/object.h"
|
#include "qom/object.h"
|
||||||
@ -32,6 +33,7 @@
|
|||||||
struct soundhw {
|
struct soundhw {
|
||||||
const char *name;
|
const char *name;
|
||||||
const char *descr;
|
const char *descr;
|
||||||
|
const char *typename;
|
||||||
int enabled;
|
int enabled;
|
||||||
int isa;
|
int isa;
|
||||||
union {
|
union {
|
||||||
@ -65,6 +67,17 @@ void pci_register_soundhw(const char *name, const char *descr,
|
|||||||
soundhw_count++;
|
soundhw_count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void deprecated_register_soundhw(const char *name, const char *descr,
|
||||||
|
int isa, const char *typename)
|
||||||
|
{
|
||||||
|
assert(soundhw_count < ARRAY_SIZE(soundhw) - 1);
|
||||||
|
soundhw[soundhw_count].name = name;
|
||||||
|
soundhw[soundhw_count].descr = descr;
|
||||||
|
soundhw[soundhw_count].isa = isa;
|
||||||
|
soundhw[soundhw_count].typename = typename;
|
||||||
|
soundhw_count++;
|
||||||
|
}
|
||||||
|
|
||||||
void select_soundhw(const char *optarg)
|
void select_soundhw(const char *optarg)
|
||||||
{
|
{
|
||||||
struct soundhw *c;
|
struct soundhw *c;
|
||||||
@ -136,7 +149,16 @@ void soundhw_init(void)
|
|||||||
|
|
||||||
for (c = soundhw; c->name; ++c) {
|
for (c = soundhw; c->name; ++c) {
|
||||||
if (c->enabled) {
|
if (c->enabled) {
|
||||||
if (c->isa) {
|
if (c->typename) {
|
||||||
|
warn_report("'-soundhw %s' is deprecated, "
|
||||||
|
"please use '-device %s' instead",
|
||||||
|
c->name, c->typename);
|
||||||
|
if (c->isa) {
|
||||||
|
isa_create_simple(isa_bus, c->typename);
|
||||||
|
} else {
|
||||||
|
pci_create_simple(pci_bus, -1, c->typename);
|
||||||
|
}
|
||||||
|
} else if (c->isa) {
|
||||||
if (!isa_bus) {
|
if (!isa_bus) {
|
||||||
error_report("ISA bus not available for %s", c->name);
|
error_report("ISA bus not available for %s", c->name);
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -6,6 +6,8 @@ void isa_register_soundhw(const char *name, const char *descr,
|
|||||||
|
|
||||||
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,
|
||||||
|
int isa, const char *typename);
|
||||||
|
|
||||||
void soundhw_init(void);
|
void soundhw_init(void);
|
||||||
void select_soundhw(const char *optarg);
|
void select_soundhw(const char *optarg);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user