]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
audio: register backends in /audiodevs container
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 13 Oct 2025 13:45:48 +0000 (17:45 +0400)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Thu, 30 Oct 2025 09:30:06 +0000 (13:30 +0400)
QOM tree now has /audiodevs objects.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
audio/audio.c
qom/object.c

index e1696403ae335460a34a1729124f29cb0fe3c343..c291fd3e659cc173da23f4a0a5c1a7ad624f18f1 100644 (file)
@@ -1676,6 +1676,11 @@ static void audio_state_finalize(Object *obj)
     }
 }
 
+static Object *get_audiodevs_root(void)
+{
+    return object_get_container("audiodevs");
+}
+
 void audio_cleanup(void)
 {
     default_audio_state = NULL;
@@ -1742,6 +1747,9 @@ static AudioState *audio_init(Audiodev *dev, Error **errp)
     struct audio_driver *driver;
 
     s = AUDIO_STATE(object_new(TYPE_AUDIO_STATE));
+    if (!object_property_try_add_child(get_audiodevs_root(), dev->id, OBJECT(s), errp)) {
+        goto out;
+    }
 
     if (!atexit_registered) {
         atexit(audio_cleanup);
index 1856bb36c74c6fe06ed61cc662f01bcb1eac6eb1..4f32c1aba7d7943ae59684d1c335f8d679fbbf09 100644 (file)
@@ -1730,6 +1730,7 @@ const char *object_property_get_type(Object *obj, const char *name, Error **errp
 }
 
 static const char *const root_containers[] = {
+    "audiodevs",
     "chardevs",
     "objects",
     "backend"