From: Marc-André Lureau <[email protected]> QOM tree now has /audiodevs objects.
Signed-off-by: Marc-André Lureau <[email protected]> Reviewed-by: Philippe Mathieu-Daudé <[email protected]> --- audio/audio.c | 8 ++++++++ qom/object.c | 1 + 2 files changed, 9 insertions(+) diff --git a/audio/audio.c b/audio/audio.c index e1696403ae..c291fd3e65 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -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); diff --git a/qom/object.c b/qom/object.c index 1856bb36c7..4f32c1aba7 100644 --- a/qom/object.c +++ b/qom/object.c @@ -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" -- 2.51.1
