@samitouri / QOSamiQemu / commits / 6c8b6f6a2b

audio: make audio_driver init() & fini() optional

The next patches are going to remove usage of the driver callbacks in favor of QOM realize/finalize. Reviewed-by: Mark Cave-Ayland <mark.caveayland@nutanix.com> Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Marc-André Lureau committed Jan 16, 2026 at 11:36 UTC 6c8b6f6a2b87c7a86020c50d51276ff4ba3010ab
1 file changed +8 -4
audio/audio-mixeng-be.c
+8 -4
@@ -1521,9 +1521,11 @@ static bool audio_mixeng_backend_realize(AudioBackend *abe,
1521 audio_driver *drv = AUDIO_MIXENG_BACKEND_GET_CLASS(be)->driver;
1522
1523 be->dev = dev;
1524 - be->drv_opaque = drv->init(be->dev, errp);
1525 - if (!be->drv_opaque) {
1526 - return false;
1524 + if (drv->init != NULL) {
1525 + be->drv_opaque = drv->init(be->dev, errp);
1526 + if (!be->drv_opaque) {
1527 + return false;
1528 + }
1529 }
1530
1531 if (!drv->pcm_ops->get_buffer_in) {
@@ -1664,7 +1666,9 @@ static void audio_mixeng_backend_finalize(Object *obj)
1666 }
1667
1668 if (s->drv) {
1667 - s->drv->fini (s->drv_opaque);
1669 + if (s->drv->fini) {
1670 + s->drv->fini (s->drv_opaque);
1671 + }
1672 s->drv = NULL;
1673 }
1674