@samitouri / QOSamiQemu / commits / aaaf0f2fdc

audio/coreaudio: convert to QOM lifecycle methods

Remove the legacy driver init/fini callbacks from the CoreAudio backend. Both coreaudio_audio_init() and coreaudio_audio_fini() were no-ops that performed no real initialization or cleanup work. Access to the Audiodev is now through hw->s->dev instead of the drv_opaque pointer. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Mark Cave-Ayland <mark.caveayland@nutanix.com> Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>

Marc-André Lureau committed Jan 16, 2026 at 19:02 UTC aaaf0f2fdceea3a8b02c7d6f12dc4dd2ebd36f91
1 file changed +1 -12
audio/coreaudio.m
+1 -12
@@ -579,7 +579,7 @@ static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as,
579 OSStatus status;
580 coreaudioVoiceOut *core = (coreaudioVoiceOut *) hw;
581 int err;
582 - Audiodev *dev = drv_opaque;
582 + Audiodev *dev = hw->s->dev;
583 AudiodevCoreaudioPerDirectionOptions *cpdo = dev->u.coreaudio.out;
584 struct audsettings obt_as;
585
@@ -656,15 +656,6 @@ static void coreaudio_enable_out(HWVoiceOut *hw, bool enable)
656 update_device_playback_state(core);
657 }
658
659 -static void *coreaudio_audio_init(Audiodev *dev, Error **errp)
660 -{
661 - return dev;
662 -}
663 -
664 -static void coreaudio_audio_fini (void *opaque)
665 -{
666 -}
667 -
659 static struct audio_pcm_ops coreaudio_pcm_ops = {
660 .init_out = coreaudio_init_out,
661 .fini_out = coreaudio_fini_out,
@@ -681,8 +672,6 @@ static struct audio_pcm_ops coreaudio_pcm_ops = {
672
673 static struct audio_driver coreaudio_audio_driver = {
674 .name = "coreaudio",
684 - .init = coreaudio_audio_init,
685 - .fini = coreaudio_audio_fini,
675 .pcm_ops = &coreaudio_pcm_ops,
676 .max_voices_out = 1,
677 .max_voices_in = 0,