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 <pbonz...@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,


Reply via email to