diff options
author | Martin Kletzander <mkletzan@redhat.com> | 2023-10-02 16:27:57 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2023-10-03 10:29:40 +0200 |
commit | cb94ff5f80c537e43c04fa4f071f1df784255310 (patch) | |
tree | 18907d34d44c8e344ea2174c5bd80e6fa8dc5169 /hw/audio/lm4549.c | |
parent | 9dcb64c96073e9898105cdbef6553cfef0fadcdb (diff) | |
download | qemu-cb94ff5f80c537e43c04fa4f071f1df784255310.zip qemu-cb94ff5f80c537e43c04fa4f071f1df784255310.tar.gz qemu-cb94ff5f80c537e43c04fa4f071f1df784255310.tar.bz2 |
audio: propagate Error * out of audio_init
Starting from audio_driver_init, propagate errors via Error ** so that
audio_init_audiodevs can simply pass &error_fatal, and AUD_register_card
can signal faiure.
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
[Reworked the audio/audio.c parts, while keeping Martin's hw/ changes. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/audio/lm4549.c')
-rw-r--r-- | hw/audio/lm4549.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/hw/audio/lm4549.c b/hw/audio/lm4549.c index 418041b..e7bfcc4 100644 --- a/hw/audio/lm4549.c +++ b/hw/audio/lm4549.c @@ -281,6 +281,11 @@ void lm4549_init(lm4549_state *s, lm4549_callback data_req_cb, void* opaque, { struct audsettings as; + /* Register an audio card */ + if (!AUD_register_card("lm4549", &s->card, errp)) { + return; + } + /* Store the callback and opaque pointer */ s->data_req_cb = data_req_cb; s->opaque = opaque; @@ -288,9 +293,6 @@ void lm4549_init(lm4549_state *s, lm4549_callback data_req_cb, void* opaque, /* Init the registers */ lm4549_reset(s); - /* Register an audio card */ - AUD_register_card("lm4549", &s->card); - /* Open a default voice */ as.freq = 48000; as.nchannels = 2; |