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