qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/20] audio: deprecate -soundhw
@ 2020-07-02 13:25 Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 01/20] stubs: add isa_create_simple Gerd Hoffmann
                   ` (19 more replies)
  0 siblings, 20 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

v2:
 - use g_assert_not_reached() for stubs.
 - add deprecation notice.

v3:
 - rebase to latest master.
 - adapt to armbru's device initialization changes.

v4:
 - reorder patches, drop temporary -global setup,
   go straight to -machine pcspk-audiodev= instead.
 - update error messages and documentation accordingly.

v5:
 - spell fixes (Eric).
 - fix mips build error.

Gerd Hoffmann (20):
  stubs: add isa_create_simple
  stubs: add pci_create_simple
  audio: add deprecated_register_soundhw
  audio: deprecate -soundhw ac97
  audio: deprecate -soundhw es1370
  audio: deprecate -soundhw adlib
  audio: deprecate -soundhw cs4231a
  audio: deprecate -soundhw gus
  audio: deprecate -soundhw sb16
  audio: deprecate -soundhw hda
  pc_basic_device_init: pass PCMachineState
  pc_basic_device_init: drop has_pit arg
  pc_basic_device_init: drop no_vmport arg
  softmmu: initialize spice and audio earlier
  audio: rework pcspk_init()
  audio: create pcspk device early
  audio: deprecate -soundhw pcspk
  audio: add soundhw deprecation notice
  pcspk: update docs/system/target-i386-desc.rst.inc
  audio: set default value for pcspk.iobase property

 include/hw/audio/pcspk.h             | 12 ++----------
 include/hw/audio/soundhw.h           |  2 ++
 include/hw/i386/pc.h                 |  6 +++---
 hw/audio/ac97.c                      |  9 ++-------
 hw/audio/adlib.c                     |  8 +-------
 hw/audio/cs4231a.c                   |  8 +-------
 hw/audio/es1370.c                    |  9 ++-------
 hw/audio/gus.c                       |  8 +-------
 hw/audio/intel-hda.c                 |  3 +++
 hw/audio/pcspk.c                     | 26 ++++++++++++++++++++++----
 hw/audio/sb16.c                      |  9 ++-------
 hw/audio/soundhw.c                   | 24 +++++++++++++++++++++++-
 hw/i386/pc.c                         | 14 ++++++++------
 hw/i386/pc_piix.c                    |  3 +--
 hw/i386/pc_q35.c                     |  3 +--
 hw/isa/i82378.c                      |  2 +-
 hw/mips/jazz.c                       |  2 +-
 qdev-monitor.c                       |  2 ++
 softmmu/vl.c                         | 12 ++++++------
 stubs/isa-bus.c                      |  7 +++++++
 stubs/pci-bus.c                      |  7 +++++++
 docs/system/deprecated.rst           |  9 +++++++++
 docs/system/target-i386-desc.rst.inc | 13 ++++++++++++-
 stubs/Makefile.objs                  |  2 ++
 24 files changed, 121 insertions(+), 79 deletions(-)
 create mode 100644 stubs/isa-bus.c
 create mode 100644 stubs/pci-bus.c

-- 
2.18.4



^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v5 01/20] stubs: add isa_create_simple
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 02/20] stubs: add pci_create_simple Gerd Hoffmann
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Needed for -soundhw cleanup.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 stubs/isa-bus.c     | 7 +++++++
 stubs/Makefile.objs | 1 +
 2 files changed, 8 insertions(+)
 create mode 100644 stubs/isa-bus.c

diff --git a/stubs/isa-bus.c b/stubs/isa-bus.c
new file mode 100644
index 000000000000..522f448997d4
--- /dev/null
+++ b/stubs/isa-bus.c
@@ -0,0 +1,7 @@
+#include "qemu/osdep.h"
+#include "hw/isa/isa.h"
+
+ISADevice *isa_create_simple(ISABus *bus, const char *name)
+{
+    g_assert_not_reached();
+}
diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
index f32b9e47a3d8..ff0411d21f22 100644
--- a/stubs/Makefile.objs
+++ b/stubs/Makefile.objs
@@ -8,6 +8,7 @@ stub-obj-y += fdset.o
 stub-obj-y += gdbstub.o
 stub-obj-y += iothread-lock.o
 stub-obj-y += is-daemonized.o
+stub-obj-y += isa-bus.o
 stub-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
 stub-obj-$(CONFIG_LINUX_IO_URING) += io_uring.o
 stub-obj-y += monitor-core.o
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 02/20] stubs: add pci_create_simple
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 01/20] stubs: add isa_create_simple Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 03/20] audio: add deprecated_register_soundhw Gerd Hoffmann
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Needed for -soundhw cleanup.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 stubs/pci-bus.c     | 7 +++++++
 stubs/Makefile.objs | 1 +
 2 files changed, 8 insertions(+)
 create mode 100644 stubs/pci-bus.c

diff --git a/stubs/pci-bus.c b/stubs/pci-bus.c
new file mode 100644
index 000000000000..a8932fa93250
--- /dev/null
+++ b/stubs/pci-bus.c
@@ -0,0 +1,7 @@
+#include "qemu/osdep.h"
+#include "hw/pci/pci.h"
+
+PCIDevice *pci_create_simple(PCIBus *bus, int devfn, const char *name)
+{
+    g_assert_not_reached();
+}
diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
index ff0411d21f22..918e46bdc1ca 100644
--- a/stubs/Makefile.objs
+++ b/stubs/Makefile.objs
@@ -13,6 +13,7 @@ stub-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
 stub-obj-$(CONFIG_LINUX_IO_URING) += io_uring.o
 stub-obj-y += monitor-core.o
 stub-obj-y += notify-event.o
+stub-obj-y += pci-bus.o
 stub-obj-y += qmp_memory_device.o
 stub-obj-y += qtest.o
 stub-obj-y += ramfb.o
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 03/20] audio: add deprecated_register_soundhw
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 01/20] stubs: add isa_create_simple Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 02/20] stubs: add pci_create_simple Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 04/20] audio: deprecate -soundhw ac97 Gerd Hoffmann
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

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>
---
 include/hw/audio/soundhw.h |  2 ++
 hw/audio/soundhw.c         | 24 +++++++++++++++++++++++-
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/include/hw/audio/soundhw.h b/include/hw/audio/soundhw.h
index c8eef8241846..f09a297854af 100644
--- a/include/hw/audio/soundhw.h
+++ b/include/hw/audio/soundhw.h
@@ -6,6 +6,8 @@ void isa_register_soundhw(const char *name, const char *descr,
 
 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,
+                                 int isa, const char *typename);
 
 void soundhw_init(void);
 void select_soundhw(const char *optarg);
diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c
index c750473c8f0c..173b674ff53a 100644
--- a/hw/audio/soundhw.c
+++ b/hw/audio/soundhw.c
@@ -22,6 +22,7 @@
  * THE SOFTWARE.
  */
 #include "qemu/osdep.h"
+#include "qemu/option.h"
 #include "qemu/help_option.h"
 #include "qemu/error-report.h"
 #include "qom/object.h"
@@ -32,6 +33,7 @@
 struct soundhw {
     const char *name;
     const char *descr;
+    const char *typename;
     int enabled;
     int isa;
     union {
@@ -65,6 +67,17 @@ void pci_register_soundhw(const char *name, const char *descr,
     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)
 {
     struct soundhw *c;
@@ -136,7 +149,16 @@ void soundhw_init(void)
 
     for (c = soundhw; c->name; ++c) {
         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) {
                     error_report("ISA bus not available for %s", c->name);
                     exit(1);
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 04/20] audio: deprecate -soundhw ac97
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (2 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 03/20] audio: add deprecated_register_soundhw Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 05/20] audio: deprecate -soundhw es1370 Gerd Hoffmann
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Switch to deprecated_register_soundhw().  Remove the now obsolete init
function.  Add an alias so both ac97 and AC97 are working with -device.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/audio/ac97.c | 9 ++-------
 qdev-monitor.c  | 1 +
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/hw/audio/ac97.c b/hw/audio/ac97.c
index 8a9b9924c495..38522cf0ba44 100644
--- a/hw/audio/ac97.c
+++ b/hw/audio/ac97.c
@@ -1393,12 +1393,6 @@ static void ac97_exit(PCIDevice *dev)
     AUD_remove_card(&s->card);
 }
 
-static int ac97_init (PCIBus *bus)
-{
-    pci_create_simple(bus, -1, TYPE_AC97);
-    return 0;
-}
-
 static Property ac97_properties[] = {
     DEFINE_AUDIO_PROPERTIES(AC97LinkState, card),
     DEFINE_PROP_END_OF_LIST (),
@@ -1436,7 +1430,8 @@ static const TypeInfo ac97_info = {
 static void ac97_register_types (void)
 {
     type_register_static (&ac97_info);
-    pci_register_soundhw("ac97", "Intel 82801AA AC97 Audio", ac97_init);
+    deprecated_register_soundhw("ac97", "Intel 82801AA AC97 Audio",
+                                0, TYPE_AC97);
 }
 
 type_init (ac97_register_types)
diff --git a/qdev-monitor.c b/qdev-monitor.c
index 22da107484c5..105d9792ecdf 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -53,6 +53,7 @@ typedef struct QDevAlias
 
 /* Please keep this table sorted by typename. */
 static const QDevAlias qdev_alias_table[] = {
+    { "AC97", "ac97" }, /* -soundhw name */
     { "e1000", "e1000-82540em" },
     { "ich9-ahci", "ahci" },
     { "lsi53c895a", "lsi" },
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 05/20] audio: deprecate -soundhw es1370
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (3 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 04/20] audio: deprecate -soundhw ac97 Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 06/20] audio: deprecate -soundhw adlib Gerd Hoffmann
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Switch to deprecated_register_soundhw().  Remove the now obsolete init
function.  Add an alias so both es1370 and ES1370 are working with
-device.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/audio/es1370.c | 9 ++-------
 qdev-monitor.c    | 1 +
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/hw/audio/es1370.c b/hw/audio/es1370.c
index 5f8a83ff5624..4255463a49ff 100644
--- a/hw/audio/es1370.c
+++ b/hw/audio/es1370.c
@@ -884,12 +884,6 @@ static void es1370_exit(PCIDevice *dev)
     AUD_remove_card(&s->card);
 }
 
-static int es1370_init (PCIBus *bus)
-{
-    pci_create_simple (bus, -1, TYPE_ES1370);
-    return 0;
-}
-
 static Property es1370_properties[] = {
     DEFINE_AUDIO_PROPERTIES(ES1370State, card),
     DEFINE_PROP_END_OF_LIST(),
@@ -928,7 +922,8 @@ static const TypeInfo es1370_info = {
 static void es1370_register_types (void)
 {
     type_register_static (&es1370_info);
-    pci_register_soundhw("es1370", "ENSONIQ AudioPCI ES1370", es1370_init);
+    deprecated_register_soundhw("es1370", "ENSONIQ AudioPCI ES1370",
+                                0, TYPE_ES1370);
 }
 
 type_init (es1370_register_types)
diff --git a/qdev-monitor.c b/qdev-monitor.c
index 105d9792ecdf..e3083fae394b 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -55,6 +55,7 @@ typedef struct QDevAlias
 static const QDevAlias qdev_alias_table[] = {
     { "AC97", "ac97" }, /* -soundhw name */
     { "e1000", "e1000-82540em" },
+    { "ES1370", "es1370" }, /* -soundhw name */
     { "ich9-ahci", "ahci" },
     { "lsi53c895a", "lsi" },
     { "virtio-9p-ccw", "virtio-9p", QEMU_ARCH_S390X },
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 06/20] audio: deprecate -soundhw adlib
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (4 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 05/20] audio: deprecate -soundhw es1370 Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 07/20] audio: deprecate -soundhw cs4231a Gerd Hoffmann
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Switch to deprecated_register_soundhw().
Remove the now obsolete init function.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/audio/adlib.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/hw/audio/adlib.c b/hw/audio/adlib.c
index 7c3b67dcfb8c..65dff5b6fca4 100644
--- a/hw/audio/adlib.c
+++ b/hw/audio/adlib.c
@@ -319,16 +319,10 @@ static const TypeInfo adlib_info = {
     .class_init    = adlib_class_initfn,
 };
 
-static int Adlib_init (ISABus *bus)
-{
-    isa_create_simple (bus, TYPE_ADLIB);
-    return 0;
-}
-
 static void adlib_register_types (void)
 {
     type_register_static (&adlib_info);
-    isa_register_soundhw("adlib", ADLIB_DESC, Adlib_init);
+    deprecated_register_soundhw("adlib", ADLIB_DESC, 1, TYPE_ADLIB);
 }
 
 type_init (adlib_register_types)
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 07/20] audio: deprecate -soundhw cs4231a
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (5 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 06/20] audio: deprecate -soundhw adlib Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 08/20] audio: deprecate -soundhw gus Gerd Hoffmann
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Switch to deprecated_register_soundhw().
Remove the now obsolete init function.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/audio/cs4231a.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/hw/audio/cs4231a.c b/hw/audio/cs4231a.c
index ffdbb58d6a11..59705a8d4701 100644
--- a/hw/audio/cs4231a.c
+++ b/hw/audio/cs4231a.c
@@ -683,12 +683,6 @@ static void cs4231a_realizefn (DeviceState *dev, Error **errp)
     AUD_register_card ("cs4231a", &s->card);
 }
 
-static int cs4231a_init (ISABus *bus)
-{
-    isa_create_simple (bus, TYPE_CS4231A);
-    return 0;
-}
-
 static Property cs4231a_properties[] = {
     DEFINE_AUDIO_PROPERTIES(CSState, card),
     DEFINE_PROP_UINT32 ("iobase",  CSState, port, 0x534),
@@ -720,7 +714,7 @@ static const TypeInfo cs4231a_info = {
 static void cs4231a_register_types (void)
 {
     type_register_static (&cs4231a_info);
-    isa_register_soundhw("cs4231a", "CS4231A", cs4231a_init);
+    deprecated_register_soundhw("cs4231a", "CS4231A", 1, TYPE_CS4231A);
 }
 
 type_init (cs4231a_register_types)
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 08/20] audio: deprecate -soundhw gus
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (6 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 07/20] audio: deprecate -soundhw cs4231a Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 09/20] audio: deprecate -soundhw sb16 Gerd Hoffmann
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Switch to deprecated_register_soundhw().
Remove the now obsolete init function.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/audio/gus.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/hw/audio/gus.c b/hw/audio/gus.c
index c8df2bde6b32..7e4a8cadad6f 100644
--- a/hw/audio/gus.c
+++ b/hw/audio/gus.c
@@ -286,12 +286,6 @@ static void gus_realizefn (DeviceState *dev, Error **errp)
     AUD_set_active_out (s->voice, 1);
 }
 
-static int GUS_init (ISABus *bus)
-{
-    isa_create_simple (bus, TYPE_GUS);
-    return 0;
-}
-
 static Property gus_properties[] = {
     DEFINE_AUDIO_PROPERTIES(GUSState, card),
     DEFINE_PROP_UINT32 ("freq",    GUSState, freq,        44100),
@@ -322,7 +316,7 @@ static const TypeInfo gus_info = {
 static void gus_register_types (void)
 {
     type_register_static (&gus_info);
-    isa_register_soundhw("gus", "Gravis Ultrasound GF1", GUS_init);
+    deprecated_register_soundhw("gus", "Gravis Ultrasound GF1", 1, TYPE_GUS);
 }
 
 type_init (gus_register_types)
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 09/20] audio: deprecate -soundhw sb16
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (7 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 08/20] audio: deprecate -soundhw gus Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 10/20] audio: deprecate -soundhw hda Gerd Hoffmann
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Switch to deprecated_register_soundhw().
Remove the now obsolete init function.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/audio/sb16.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/hw/audio/sb16.c b/hw/audio/sb16.c
index df6f755a37f8..2d9e50f99b5d 100644
--- a/hw/audio/sb16.c
+++ b/hw/audio/sb16.c
@@ -1415,12 +1415,6 @@ static void sb16_realizefn (DeviceState *dev, Error **errp)
     AUD_register_card ("sb16", &s->card);
 }
 
-static int SB16_init (ISABus *bus)
-{
-    isa_create_simple (bus, TYPE_SB16);
-    return 0;
-}
-
 static Property sb16_properties[] = {
     DEFINE_AUDIO_PROPERTIES(SB16State, card),
     DEFINE_PROP_UINT32 ("version", SB16State, ver,  0x0405), /* 4.5 */
@@ -1453,7 +1447,8 @@ static const TypeInfo sb16_info = {
 static void sb16_register_types (void)
 {
     type_register_static (&sb16_info);
-    isa_register_soundhw("sb16", "Creative Sound Blaster 16", SB16_init);
+    deprecated_register_soundhw("sb16", "Creative Sound Blaster 16",
+                                1, TYPE_SB16);
 }
 
 type_init (sb16_register_types)
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 10/20] audio: deprecate -soundhw hda
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (8 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 09/20] audio: deprecate -soundhw sb16 Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 11/20] pc_basic_device_init: pass PCMachineState Gerd Hoffmann
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Add deprecation message to the audio init function.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/audio/intel-hda.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
index f673b8317a84..f6cea49686d7 100644
--- a/hw/audio/intel-hda.c
+++ b/hw/audio/intel-hda.c
@@ -25,6 +25,7 @@
 #include "qemu/bitops.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
+#include "qemu/error-report.h"
 #include "hw/audio/soundhw.h"
 #include "intel-hda.h"
 #include "migration/vmstate.h"
@@ -1307,6 +1308,8 @@ static int intel_hda_and_codec_init(PCIBus *bus)
     BusState *hdabus;
     DeviceState *codec;
 
+    warn_report("'-soundhw hda' is deprecated, "
+                "please use '-device intel-hda -device hda-duplex' instead");
     controller = DEVICE(pci_create_simple(bus, -1, "intel-hda"));
     hdabus = QLIST_FIRST(&controller->child_bus);
     codec = qdev_new("hda-duplex");
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 11/20] pc_basic_device_init: pass PCMachineState
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (9 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 10/20] audio: deprecate -soundhw hda Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:44   ` Philippe Mathieu-Daudé
  2020-07-02 13:25 ` [PATCH v5 12/20] pc_basic_device_init: drop has_pit arg Gerd Hoffmann
                   ` (8 subsequent siblings)
  19 siblings, 1 reply; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Need access to pcms for pcspk initialization.
Just preparation, no functional change.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/hw/i386/pc.h | 3 ++-
 hw/i386/pc.c         | 3 ++-
 hw/i386/pc_piix.c    | 2 +-
 hw/i386/pc_q35.c     | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index dce1273c7dad..3a601dbe71da 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -160,7 +160,8 @@ void pc_memory_init(PCMachineState *pcms,
                     MemoryRegion **ram_memory);
 uint64_t pc_pci_hole64_start(void);
 DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus);
-void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
+void pc_basic_device_init(struct PCMachineState *pcms,
+                          ISABus *isa_bus, qemu_irq *gsi,
                           ISADevice **rtc_state,
                           bool create_fdctrl,
                           bool no_vmport,
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 4af9679d039b..d89e577f6fa1 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1155,7 +1155,8 @@ static void pc_superio_init(ISABus *isa_bus, bool create_fdctrl, bool no_vmport)
     g_free(a20_line);
 }
 
-void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
+void pc_basic_device_init(struct PCMachineState *pcms,
+                          ISABus *isa_bus, qemu_irq *gsi,
                           ISADevice **rtc_state,
                           bool create_fdctrl,
                           bool no_vmport,
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 1d832b2878b1..a3b416507286 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -235,7 +235,7 @@ static void pc_init1(MachineState *machine,
     }
 
     /* init basic PC hardware */
-    pc_basic_device_init(isa_bus, x86ms->gsi, &rtc_state, true,
+    pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, true,
                          (pcms->vmport != ON_OFF_AUTO_ON), pcms->pit_enabled,
                          0x4);
 
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 047ea8db28ea..b16e22c6cccd 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -275,7 +275,7 @@ static void pc_q35_init(MachineState *machine)
     }
 
     /* init basic PC hardware */
-    pc_basic_device_init(isa_bus, x86ms->gsi, &rtc_state, !mc->no_floppy,
+    pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, !mc->no_floppy,
                          (pcms->vmport != ON_OFF_AUTO_ON), pcms->pit_enabled,
                          0xff0104);
 
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 12/20] pc_basic_device_init: drop has_pit arg
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (10 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 11/20] pc_basic_device_init: pass PCMachineState Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 13/20] pc_basic_device_init: drop no_vmport arg Gerd Hoffmann
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Now that we pass pcms anyway, we don't need the has_pit arg any more.
No functional change.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/hw/i386/pc.h | 1 -
 hw/i386/pc.c         | 3 +--
 hw/i386/pc_piix.c    | 2 +-
 hw/i386/pc_q35.c     | 2 +-
 4 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 3a601dbe71da..bd447e380b5e 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -165,7 +165,6 @@ void pc_basic_device_init(struct PCMachineState *pcms,
                           ISADevice **rtc_state,
                           bool create_fdctrl,
                           bool no_vmport,
-                          bool has_pit,
                           uint32_t hpet_irqs);
 void pc_init_ne2k_isa(ISABus *bus, NICInfo *nd);
 void pc_cmos_init(PCMachineState *pcms,
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index d89e577f6fa1..9f5153b6f24d 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1160,7 +1160,6 @@ void pc_basic_device_init(struct PCMachineState *pcms,
                           ISADevice **rtc_state,
                           bool create_fdctrl,
                           bool no_vmport,
-                          bool has_pit,
                           uint32_t hpet_irqs)
 {
     int i;
@@ -1211,7 +1210,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
 
     qemu_register_boot_set(pc_boot_set, *rtc_state);
 
-    if (!xen_enabled() && has_pit) {
+    if (!xen_enabled() && pcms->pit_enabled) {
         if (kvm_pit_in_kernel()) {
             pit = kvm_pit_init(isa_bus, 0x40);
         } else {
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index a3b416507286..6c1612d0ca45 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -236,7 +236,7 @@ static void pc_init1(MachineState *machine,
 
     /* init basic PC hardware */
     pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, true,
-                         (pcms->vmport != ON_OFF_AUTO_ON), pcms->pit_enabled,
+                         (pcms->vmport != ON_OFF_AUTO_ON),
                          0x4);
 
     pc_nic_init(pcmc, isa_bus, pci_bus);
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index b16e22c6cccd..6faf4458549a 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -276,7 +276,7 @@ static void pc_q35_init(MachineState *machine)
 
     /* init basic PC hardware */
     pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, !mc->no_floppy,
-                         (pcms->vmport != ON_OFF_AUTO_ON), pcms->pit_enabled,
+                         (pcms->vmport != ON_OFF_AUTO_ON),
                          0xff0104);
 
     /* connect pm stuff to lpc */
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 13/20] pc_basic_device_init: drop no_vmport arg
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (11 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 12/20] pc_basic_device_init: drop has_pit arg Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 14/20] softmmu: initialize spice and audio earlier Gerd Hoffmann
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Now that we pass pcms anyway, we don't need the no_vmport arg any more.
No functional change.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/hw/i386/pc.h | 1 -
 hw/i386/pc.c         | 3 +--
 hw/i386/pc_piix.c    | 1 -
 hw/i386/pc_q35.c     | 1 -
 4 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index bd447e380b5e..d7690bf4290f 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -164,7 +164,6 @@ void pc_basic_device_init(struct PCMachineState *pcms,
                           ISABus *isa_bus, qemu_irq *gsi,
                           ISADevice **rtc_state,
                           bool create_fdctrl,
-                          bool no_vmport,
                           uint32_t hpet_irqs);
 void pc_init_ne2k_isa(ISABus *bus, NICInfo *nd);
 void pc_cmos_init(PCMachineState *pcms,
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 9f5153b6f24d..407c782b5d42 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1159,7 +1159,6 @@ void pc_basic_device_init(struct PCMachineState *pcms,
                           ISABus *isa_bus, qemu_irq *gsi,
                           ISADevice **rtc_state,
                           bool create_fdctrl,
-                          bool no_vmport,
                           uint32_t hpet_irqs)
 {
     int i;
@@ -1226,7 +1225,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
     i8257_dma_init(isa_bus, 0);
 
     /* Super I/O */
-    pc_superio_init(isa_bus, create_fdctrl, no_vmport);
+    pc_superio_init(isa_bus, create_fdctrl, pcms->vmport != ON_OFF_AUTO_ON);
 }
 
 void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 6c1612d0ca45..1ef3f39c55a5 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -236,7 +236,6 @@ static void pc_init1(MachineState *machine,
 
     /* init basic PC hardware */
     pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, true,
-                         (pcms->vmport != ON_OFF_AUTO_ON),
                          0x4);
 
     pc_nic_init(pcmc, isa_bus, pci_bus);
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 6faf4458549a..5f8f21b84093 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -276,7 +276,6 @@ static void pc_q35_init(MachineState *machine)
 
     /* init basic PC hardware */
     pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, !mc->no_floppy,
-                         (pcms->vmport != ON_OFF_AUTO_ON),
                          0xff0104);
 
     /* connect pm stuff to lpc */
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 14/20] softmmu: initialize spice and audio earlier
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (12 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 13/20] pc_basic_device_init: drop no_vmport arg Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 15/20] audio: rework pcspk_init() Gerd Hoffmann
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

audiodev must be initialized before machine_set_property
so the machine can have audiodev property aliases.

spice must initialize before audiodev because the default
audiodev is spice only in case spice is actually enabled.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 softmmu/vl.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 3e15ee243572..8ee91219060a 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -4131,12 +4131,17 @@ void qemu_init(int argc, char **argv, char **envp)
                       fsdev_init_func, NULL, &error_fatal);
 #endif
 
+    /* spice needs the timers to be initialized by this point */
+    /* spice must initialize before audio as it changes the default auiodev */
+    qemu_spice_init();
+
     /*
-     * Note: we need to create block backends before
+     * Note: we need to create audio and block backends before
      * machine_set_property(), so machine properties can refer to
      * them.
      */
     configure_blockdev(&bdo_queue, machine_class, snapshot);
+    audio_init_audiodevs();
 
     machine_opts = qemu_get_machine_opts();
     qemu_opt_foreach(machine_opts, machine_set_property, current_machine,
@@ -4230,9 +4235,6 @@ void qemu_init(int argc, char **argv, char **envp)
         semihosting_arg_fallback(kernel_filename, kernel_cmdline);
     }
 
-    /* spice needs the timers to be initialized by this point */
-    qemu_spice_init();
-
     cpu_ticks_init();
 
     if (default_net) {
@@ -4342,8 +4344,6 @@ void qemu_init(int argc, char **argv, char **envp)
         create_default_memdev(current_machine, mem_path);
     }
 
-    audio_init_audiodevs();
-
     /* from here on runstate is RUN_STATE_PRELAUNCH */
     machine_run_board_init(current_machine);
 
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 15/20] audio: rework pcspk_init()
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (13 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 14/20] softmmu: initialize spice and audio earlier Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 16/20] audio: create pcspk device early Gerd Hoffmann
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Instead of creating and returning the pc speaker accept it as argument.
That allows to rework the initialization workflow in followup patches.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/hw/audio/pcspk.h | 6 +-----
 hw/i386/pc.c             | 2 +-
 hw/isa/i82378.c          | 2 +-
 hw/mips/jazz.c           | 2 +-
 4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/include/hw/audio/pcspk.h b/include/hw/audio/pcspk.h
index 7e7f5f49dcb0..8b485602675f 100644
--- a/include/hw/audio/pcspk.h
+++ b/include/hw/audio/pcspk.h
@@ -31,18 +31,14 @@
 
 #define TYPE_PC_SPEAKER "isa-pcspk"
 
-static inline ISADevice *pcspk_init(ISABus *bus, ISADevice *pit)
+static inline void pcspk_init(ISADevice *isadev, ISABus *bus, ISADevice *pit)
 {
     DeviceState *dev;
-    ISADevice *isadev;
 
-    isadev = isa_new(TYPE_PC_SPEAKER);
     dev = DEVICE(isadev);
     qdev_prop_set_uint32(dev, "iobase", 0x61);
     object_property_set_link(OBJECT(dev), OBJECT(pit), "pit", NULL);
     isa_realize_and_unref(isadev, bus, &error_fatal);
-
-    return isadev;
 }
 
 #endif /* HW_PCSPK_H */
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 407c782b5d42..4fc1b7048b28 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1219,7 +1219,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
             /* connect PIT to output control line of the HPET */
             qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(DEVICE(pit), 0));
         }
-        pcspk_init(isa_bus, pit);
+        pcspk_init(isa_new(TYPE_PC_SPEAKER), isa_bus, pit);
     }
 
     i8257_dma_init(isa_bus, 0);
diff --git a/hw/isa/i82378.c b/hw/isa/i82378.c
index d9e6c7fa0096..75a2da288157 100644
--- a/hw/isa/i82378.c
+++ b/hw/isa/i82378.c
@@ -102,7 +102,7 @@ static void i82378_realize(PCIDevice *pci, Error **errp)
     pit = i8254_pit_init(isabus, 0x40, 0, NULL);
 
     /* speaker */
-    pcspk_init(isabus, pit);
+    pcspk_init(isa_new(TYPE_PC_SPEAKER), isabus, pit);
 
     /* 2 82C37 (dma) */
     isa_create_simple(isabus, "i82374");
diff --git a/hw/mips/jazz.c b/hw/mips/jazz.c
index c3b0da60ccc1..0002bff69590 100644
--- a/hw/mips/jazz.c
+++ b/hw/mips/jazz.c
@@ -250,7 +250,7 @@ static void mips_jazz_init(MachineState *machine,
     isa_bus_irqs(isa_bus, i8259);
     i8257_dma_init(isa_bus, 0);
     pit = i8254_pit_init(isa_bus, 0x40, 0, NULL);
-    pcspk_init(isa_bus, pit);
+    pcspk_init(isa_new(TYPE_PC_SPEAKER), isa_bus, pit);
 
     /* Video card */
     switch (jazz_model) {
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 16/20] audio: create pcspk device early
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (14 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 15/20] audio: rework pcspk_init() Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 17/20] audio: deprecate -soundhw pcspk Gerd Hoffmann
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Create the pcspk device early, so it exists at
machine type initialization time.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/hw/i386/pc.h | 1 +
 hw/i386/pc.c         | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index d7690bf4290f..a802e699749a 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -33,6 +33,7 @@ struct PCMachineState {
     PCIBus *bus;
     I2CBus *smbus;
     PFlashCFI01 *flash[2];
+    ISADevice *pcspk;
 
     /* Configuration options: */
     uint64_t max_ram_below_4g;
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 4fc1b7048b28..88785f9dcc70 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1219,7 +1219,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
             /* connect PIT to output control line of the HPET */
             qdev_connect_gpio_out(hpet, 0, qdev_get_gpio_in(DEVICE(pit), 0));
         }
-        pcspk_init(isa_new(TYPE_PC_SPEAKER), isa_bus, pit);
+        pcspk_init(pcms->pcspk, isa_bus, pit);
     }
 
     i8257_dma_init(isa_bus, 0);
@@ -1891,6 +1891,7 @@ static void pc_machine_initfn(Object *obj)
     pcms->pit_enabled = true;
 
     pc_system_flash_create(pcms);
+    pcms->pcspk = isa_new(TYPE_PC_SPEAKER);
 }
 
 static void pc_machine_reset(MachineState *machine)
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 17/20] audio: deprecate -soundhw pcspk
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (15 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 16/20] audio: create pcspk device early Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 18/20] audio: add soundhw deprecation notice Gerd Hoffmann
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Add deprecation message to the audio init function.

Factor out audio initialization and call that from
both audio init and realize, so setting the audiodev
property is enough to properly initialize pcspk.

Add a property alias to the machine type to set the
audio device, so pcspk can be initialized using:
"-machine pcspk-audiodev=<name>"

Using "-global isa-pcspk.audiodev=<name>" works too but
is not recommended.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/audio/pcspk.c | 24 +++++++++++++++++++++---
 hw/i386/pc.c     |  2 ++
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c
index c37a3878612e..4c7e339ac2b5 100644
--- a/hw/audio/pcspk.c
+++ b/hw/audio/pcspk.c
@@ -28,6 +28,7 @@
 #include "audio/audio.h"
 #include "qemu/module.h"
 #include "qemu/timer.h"
+#include "qemu/error-report.h"
 #include "hw/timer/i8254.h"
 #include "migration/vmstate.h"
 #include "hw/audio/pcspk.h"
@@ -112,11 +113,15 @@ static void pcspk_callback(void *opaque, int free)
     }
 }
 
-static int pcspk_audio_init(ISABus *bus)
+static int pcspk_audio_init(PCSpkState *s)
 {
-    PCSpkState *s = pcspk_state;
     struct audsettings as = {PCSPK_SAMPLE_RATE, 1, AUDIO_FORMAT_U8, 0};
 
+    if (s->voice) {
+        /* already initialized */
+        return 0;
+    }
+
     AUD_register_card(s_spk, &s->card);
 
     s->voice = AUD_open_out(&s->card, s->voice, s_spk, s, pcspk_callback, &as);
@@ -185,6 +190,10 @@ static void pcspk_realizefn(DeviceState *dev, Error **errp)
 
     isa_register_ioport(isadev, &s->ioport, s->iobase);
 
+    if (s->card.state) {
+        pcspk_audio_init(s);
+    }
+
     pcspk_state = s;
 }
 
@@ -236,9 +245,18 @@ 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);
+    isa_register_soundhw("pcspk", "PC speaker", pcspk_audio_init_soundhw);
 }
 type_init(pcspk_register)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 88785f9dcc70..c45e7bfd864b 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1892,6 +1892,8 @@ static void pc_machine_initfn(Object *obj)
 
     pc_system_flash_create(pcms);
     pcms->pcspk = isa_new(TYPE_PC_SPEAKER);
+    object_property_add_alias(OBJECT(pcms), "pcspk-audiodev",
+                              OBJECT(pcms->pcspk), "audiodev");
 }
 
 static void pc_machine_reset(MachineState *machine)
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 18/20] audio: add soundhw deprecation notice
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (16 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 17/20] audio: deprecate -soundhw pcspk Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 19/20] pcspk: update docs/system/target-i386-desc.rst.inc Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 20/20] audio: set default value for pcspk.iobase property Gerd Hoffmann
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 docs/system/deprecated.rst | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index 843ae71fc618..6aa492b45006 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -82,6 +82,15 @@ should specify an ``audiodev=`` property.  Additionally, when using
 vnc, you should specify an ``audiodev=`` propery if you plan to
 transmit audio through the VNC protocol.
 
+Creating sound card devices using ``-soundhw`` (since 5.1)
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Sound card devices should be created using ``-device`` instead.  The
+names are the same for most devices.  The exceptions are ``hda`` which
+needs two devices (``-device intel-hda -device hda-duplex``) and
+``pcspk`` which can be activated using ``-machine
+pcspk-audiodev=<name>``.
+
 ``-mon ...,control=readline,pretty=on|off`` (since 4.1)
 '''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 19/20] pcspk: update docs/system/target-i386-desc.rst.inc
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (17 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 18/20] audio: add soundhw deprecation notice Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  2020-07-02 13:25 ` [PATCH v5 20/20] audio: set default value for pcspk.iobase property Gerd Hoffmann
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Add PC speaker with config hints.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 docs/system/target-i386-desc.rst.inc | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/docs/system/target-i386-desc.rst.inc b/docs/system/target-i386-desc.rst.inc
index 47a169e0ae2a..7d1fffacbea3 100644
--- a/docs/system/target-i386-desc.rst.inc
+++ b/docs/system/target-i386-desc.rst.inc
@@ -31,6 +31,8 @@ The QEMU PC System emulator simulates the following peripherals:
 
 -  CS4231A compatible sound card
 
+-  PC speaker
+
 -  PCI UHCI, OHCI, EHCI or XHCI USB controller and a virtual USB-1.1
    hub.
 
@@ -49,7 +51,7 @@ must be told to not have parallel ports to have working GUS.
 
 .. parsed-literal::
 
-   |qemu_system_x86| dos.img -soundhw gus -parallel none
+   |qemu_system_x86| dos.img -device gus -parallel none
 
 Alternatively:
 
@@ -60,3 +62,12 @@ Alternatively:
 Or some other unclaimed IRQ.
 
 CS4231A is the chip used in Windows Sound System and GUSMAX products
+
+The PC speaker audio device can be configured using the pcspk-audiodev
+machine property, i.e.
+
+.. parsed-literal::
+
+   |qemu_system_x86| some.img \
+   -audiodev <backend>,id=<name> \
+   -machine pcspk-audiodev=<name>
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v5 20/20] audio: set default value for pcspk.iobase property
  2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
                   ` (18 preceding siblings ...)
  2020-07-02 13:25 ` [PATCH v5 19/20] pcspk: update docs/system/target-i386-desc.rst.inc Gerd Hoffmann
@ 2020-07-02 13:25 ` Gerd Hoffmann
  19 siblings, 0 replies; 22+ messages in thread
From: Gerd Hoffmann @ 2020-07-02 13:25 UTC (permalink / raw)
  To: qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Hervé Poussineau,
	Aurelien Jarno, Richard Henderson

Allows dropping the explicit qdev_prop_set_uint32 call in pcspk_init.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/hw/audio/pcspk.h | 6 +-----
 hw/audio/pcspk.c         | 2 +-
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/include/hw/audio/pcspk.h b/include/hw/audio/pcspk.h
index 8b485602675f..06cba00b8376 100644
--- a/include/hw/audio/pcspk.h
+++ b/include/hw/audio/pcspk.h
@@ -33,11 +33,7 @@
 
 static inline void pcspk_init(ISADevice *isadev, ISABus *bus, ISADevice *pit)
 {
-    DeviceState *dev;
-
-    dev = DEVICE(isadev);
-    qdev_prop_set_uint32(dev, "iobase", 0x61);
-    object_property_set_link(OBJECT(dev), OBJECT(pit), "pit", NULL);
+    object_property_set_link(OBJECT(isadev), OBJECT(pit), "pit", NULL);
     isa_realize_and_unref(isadev, bus, &error_fatal);
 }
 
diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c
index 4c7e339ac2b5..ea539e7605a8 100644
--- a/hw/audio/pcspk.c
+++ b/hw/audio/pcspk.c
@@ -219,7 +219,7 @@ static const VMStateDescription vmstate_spk = {
 
 static Property pcspk_properties[] = {
     DEFINE_AUDIO_PROPERTIES(PCSpkState, card),
-    DEFINE_PROP_UINT32("iobase", PCSpkState, iobase,  -1),
+    DEFINE_PROP_UINT32("iobase", PCSpkState, iobase,  0x61),
     DEFINE_PROP_BOOL("migrate", PCSpkState, migrate,  true),
     DEFINE_PROP_END_OF_LIST(),
 };
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH v5 11/20] pc_basic_device_init: pass PCMachineState
  2020-07-02 13:25 ` [PATCH v5 11/20] pc_basic_device_init: pass PCMachineState Gerd Hoffmann
@ 2020-07-02 13:44   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 22+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-07-02 13:44 UTC (permalink / raw)
  To: Gerd Hoffmann, qemu-devel
  Cc: Aleksandar Rikalo, Daniel P. Berrangé, Eduardo Habkost,
	Michael S. Tsirkin, libvir-list, Aleksandar Markovic, qemu-ppc,
	Paolo Bonzini, Richard Henderson, Aurelien Jarno,
	Hervé Poussineau

On 7/2/20 3:25 PM, Gerd Hoffmann wrote:
> Need access to pcms for pcspk initialization.
> Just preparation, no functional change.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  include/hw/i386/pc.h | 3 ++-
>  hw/i386/pc.c         | 3 ++-
>  hw/i386/pc_piix.c    | 2 +-
>  hw/i386/pc_q35.c     | 2 +-
>  4 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index dce1273c7dad..3a601dbe71da 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -160,7 +160,8 @@ void pc_memory_init(PCMachineState *pcms,
>                      MemoryRegion **ram_memory);
>  uint64_t pc_pci_hole64_start(void);
>  DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus);
> -void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
> +void pc_basic_device_init(struct PCMachineState *pcms,

[Not this patch problem, simply thinking loudly]

What we should pass is a PCMachineClass pointer.

I don't understand why PIT is a runtime changeable property.

> +                          ISABus *isa_bus, qemu_irq *gsi,
>                            ISADevice **rtc_state,
>                            bool create_fdctrl,
>                            bool no_vmport,
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index 4af9679d039b..d89e577f6fa1 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -1155,7 +1155,8 @@ static void pc_superio_init(ISABus *isa_bus, bool create_fdctrl, bool no_vmport)
>      g_free(a20_line);
>  }
>  
> -void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
> +void pc_basic_device_init(struct PCMachineState *pcms,
> +                          ISABus *isa_bus, qemu_irq *gsi,
>                            ISADevice **rtc_state,
>                            bool create_fdctrl,
>                            bool no_vmport,
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 1d832b2878b1..a3b416507286 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -235,7 +235,7 @@ static void pc_init1(MachineState *machine,
>      }
>  
>      /* init basic PC hardware */
> -    pc_basic_device_init(isa_bus, x86ms->gsi, &rtc_state, true,
> +    pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, true,
>                           (pcms->vmport != ON_OFF_AUTO_ON), pcms->pit_enabled,
>                           0x4);
>  
> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> index 047ea8db28ea..b16e22c6cccd 100644
> --- a/hw/i386/pc_q35.c
> +++ b/hw/i386/pc_q35.c
> @@ -275,7 +275,7 @@ static void pc_q35_init(MachineState *machine)
>      }
>  
>      /* init basic PC hardware */
> -    pc_basic_device_init(isa_bus, x86ms->gsi, &rtc_state, !mc->no_floppy,
> +    pc_basic_device_init(pcms, isa_bus, x86ms->gsi, &rtc_state, !mc->no_floppy,
>                           (pcms->vmport != ON_OFF_AUTO_ON), pcms->pit_enabled,
>                           0xff0104);
>  
> 



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2020-07-02 13:47 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-02 13:25 [PATCH v5 00/20] audio: deprecate -soundhw Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 01/20] stubs: add isa_create_simple Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 02/20] stubs: add pci_create_simple Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 03/20] audio: add deprecated_register_soundhw Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 04/20] audio: deprecate -soundhw ac97 Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 05/20] audio: deprecate -soundhw es1370 Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 06/20] audio: deprecate -soundhw adlib Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 07/20] audio: deprecate -soundhw cs4231a Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 08/20] audio: deprecate -soundhw gus Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 09/20] audio: deprecate -soundhw sb16 Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 10/20] audio: deprecate -soundhw hda Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 11/20] pc_basic_device_init: pass PCMachineState Gerd Hoffmann
2020-07-02 13:44   ` Philippe Mathieu-Daudé
2020-07-02 13:25 ` [PATCH v5 12/20] pc_basic_device_init: drop has_pit arg Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 13/20] pc_basic_device_init: drop no_vmport arg Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 14/20] softmmu: initialize spice and audio earlier Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 15/20] audio: rework pcspk_init() Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 16/20] audio: create pcspk device early Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 17/20] audio: deprecate -soundhw pcspk Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 18/20] audio: add soundhw deprecation notice Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 19/20] pcspk: update docs/system/target-i386-desc.rst.inc Gerd Hoffmann
2020-07-02 13:25 ` [PATCH v5 20/20] audio: set default value for pcspk.iobase property Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).