Browse Source

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>
master
Marc-André Lureau 7 months ago
parent
commit
6c8b6f6a2b
  1. 12
      audio/audio-mixeng-be.c

12
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; audio_driver *drv = AUDIO_MIXENG_BACKEND_GET_CLASS(be)->driver;
be->dev = dev; be->dev = dev;
be->drv_opaque = drv->init(be->dev, errp); if (drv->init != NULL) {
if (!be->drv_opaque) { be->drv_opaque = drv->init(be->dev, errp);
return false; if (!be->drv_opaque) {
return false;
}
} }
if (!drv->pcm_ops->get_buffer_in) { if (!drv->pcm_ops->get_buffer_in) {
@ -1664,7 +1666,9 @@ static void audio_mixeng_backend_finalize(Object *obj)
} }
if (s->drv) { if (s->drv) {
s->drv->fini (s->drv_opaque); if (s->drv->fini) {
s->drv->fini (s->drv_opaque);
}
s->drv = NULL; s->drv = NULL;
} }

Loading…
Cancel
Save