From 6c8b6f6a2b87c7a86020c50d51276ff4ba3010ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Fri, 16 Jan 2026 11:36:48 +0400 Subject: [PATCH] audio: make audio_driver init() & fini() optional MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The next patches are going to remove usage of the driver callbacks in favor of QOM realize/finalize. Reviewed-by: Mark Cave-Ayland Reviewed-by: Akihiko Odaki Signed-off-by: Marc-André Lureau --- audio/audio-mixeng-be.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/audio/audio-mixeng-be.c b/audio/audio-mixeng-be.c index f906c84bf7..45873646b3 100644 --- a/audio/audio-mixeng-be.c +++ b/audio/audio-mixeng-be.c @@ -1521,9 +1521,11 @@ static bool audio_mixeng_backend_realize(AudioBackend *abe, audio_driver *drv = AUDIO_MIXENG_BACKEND_GET_CLASS(be)->driver; be->dev = dev; - be->drv_opaque = drv->init(be->dev, errp); - if (!be->drv_opaque) { - return false; + if (drv->init != NULL) { + be->drv_opaque = drv->init(be->dev, errp); + if (!be->drv_opaque) { + return false; + } } if (!drv->pcm_ops->get_buffer_in) { @@ -1664,7 +1666,9 @@ static void audio_mixeng_backend_finalize(Object *obj) } if (s->drv) { - s->drv->fini (s->drv_opaque); + if (s->drv->fini) { + s->drv->fini (s->drv_opaque); + } s->drv = NULL; }