[PATCH 2/3] hw/audio: Remove intel_hda_and_codec_init()

Philippe Mathieu-Daudé posted 3 patches 3 weeks, 3 days ago
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Gerd Hoffmann <kraxel@redhat.com>
[PATCH 2/3] hw/audio: Remove intel_hda_and_codec_init()
Posted by Philippe Mathieu-Daudé 3 weeks, 3 days ago
`-soundhw hda` was removed in commit 039a68373c4 ("introduce -audio
as a replacement for -soundhw").

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/audio/intel-hda.c | 23 -----------------------
 1 file changed, 23 deletions(-)

diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
index 0d35afa4ab4..83bb7e597db 100644
--- a/hw/audio/intel-hda.c
+++ b/hw/audio/intel-hda.c
@@ -1301,28 +1301,6 @@ static const TypeInfo hda_codec_device_type_info = {
     .class_init = hda_codec_device_class_init,
 };
 
-/*
- * create intel hda controller with codec attached to it,
- * so '-soundhw hda' works.
- */
-static int intel_hda_and_codec_init(const char *audiodev)
-{
-    g_autoptr(QDict) props = qdict_new();
-    DeviceState *intel_hda, *codec;
-    BusState *hdabus;
-
-    qdict_put_str(props, "driver", "intel-hda");
-    intel_hda = qdev_device_add_from_qdict(props, false, &error_fatal);
-    hdabus = QLIST_FIRST(&intel_hda->child_bus);
-
-    codec = qdev_new("hda-duplex");
-    qdev_prop_set_string(codec, "audiodev", audiodev);
-    qdev_realize_and_unref(codec, hdabus, &error_fatal);
-    object_unref(intel_hda);
-
-    return 0;
-}
-
 static void intel_hda_register_types(void)
 {
     type_register_static(&hda_codec_bus_info);
@@ -1330,7 +1308,6 @@ static void intel_hda_register_types(void)
     type_register_static(&intel_hda_info_ich6);
     type_register_static(&intel_hda_info_ich9);
     type_register_static(&hda_codec_device_type_info);
-    audio_register_model_with_cb("hda", "Intel HD Audio", intel_hda_and_codec_init);
 }
 
 type_init(intel_hda_register_types)
-- 
2.51.0


Re: [PATCH 2/3] hw/audio: Remove intel_hda_and_codec_init()
Posted by Marc-André Lureau 3 weeks, 3 days ago
Hi

On Tue, Oct 21, 2025 at 5:18 PM Philippe Mathieu-Daudé <philmd@linaro.org>
wrote:

> `-soundhw hda` was removed in commit 039a68373c4 ("introduce -audio
> as a replacement for -soundhw").
>
>
Sorry, that "hda" (= intel-hda + hda-duplex) short form is used by -audio.


> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  hw/audio/intel-hda.c | 23 -----------------------
>  1 file changed, 23 deletions(-)
>
> diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
> index 0d35afa4ab4..83bb7e597db 100644
> --- a/hw/audio/intel-hda.c
> +++ b/hw/audio/intel-hda.c
> @@ -1301,28 +1301,6 @@ static const TypeInfo hda_codec_device_type_info = {
>      .class_init = hda_codec_device_class_init,
>  };
>
> -/*
> - * create intel hda controller with codec attached to it,
> - * so '-soundhw hda' works.
> - */
> -static int intel_hda_and_codec_init(const char *audiodev)
> -{
> -    g_autoptr(QDict) props = qdict_new();
> -    DeviceState *intel_hda, *codec;
> -    BusState *hdabus;
> -
> -    qdict_put_str(props, "driver", "intel-hda");
> -    intel_hda = qdev_device_add_from_qdict(props, false, &error_fatal);
> -    hdabus = QLIST_FIRST(&intel_hda->child_bus);
> -
> -    codec = qdev_new("hda-duplex");
> -    qdev_prop_set_string(codec, "audiodev", audiodev);
> -    qdev_realize_and_unref(codec, hdabus, &error_fatal);
> -    object_unref(intel_hda);
> -
> -    return 0;
> -}
> -
>  static void intel_hda_register_types(void)
>  {
>      type_register_static(&hda_codec_bus_info);
> @@ -1330,7 +1308,6 @@ static void intel_hda_register_types(void)
>      type_register_static(&intel_hda_info_ich6);
>      type_register_static(&intel_hda_info_ich9);
>      type_register_static(&hda_codec_device_type_info);
> -    audio_register_model_with_cb("hda", "Intel HD Audio",
> intel_hda_and_codec_init);
>  }
>
>  type_init(intel_hda_register_types)
> --
> 2.51.0
>
>
Re: [PATCH 2/3] hw/audio: Remove intel_hda_and_codec_init()
Posted by Philippe Mathieu-Daudé 3 weeks, 3 days ago
On 21/10/25 15:24, Marc-André Lureau wrote:
> Hi
> 
> On Tue, Oct 21, 2025 at 5:18 PM Philippe Mathieu-Daudé 
> <philmd@linaro.org <mailto:philmd@linaro.org>> wrote:
> 
>     `-soundhw hda` was removed in commit 039a68373c4 ("introduce -audio
>     as a replacement for -soundhw").
> 
> 
> Sorry, that "hda" (= intel-hda + hda-duplex) short form is used by -audio.

Yes, it was deprecated for 2 releases but we missed to remove it
in commit 039a68373c4:

-- >8 --
diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
index bc77e3d8c9d..f38117057b9 100644
--- a/hw/audio/intel-hda.c
+++ b/hw/audio/intel-hda.c
@@ -1311,17 +1311,16 @@ static const TypeInfo hda_codec_device_type_info = {
   * create intel hda controller with codec attached to it,
   * so '-soundhw hda' works.
   */
-static int intel_hda_and_codec_init(PCIBus *bus)
+static int intel_hda_and_codec_init(PCIBus *bus, const char *audiodev)
  {
      DeviceState *controller;
      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");
+    qdev_prop_set_string(codec, "audiodev", audiodev);
      qdev_realize_and_unref(codec, hdabus, &error_fatal);
      return 0;
  }
---

Users should be now using "-device intel-hda -device hda-duplex"
instead of "-audio hda".