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/display/xlnx_dp.c | |
| parent | 9dcb64c96073e9898105cdbef6553cfef0fadcdb (diff) | |
| download | focaccia-qemu-cb94ff5f80c537e43c04fa4f071f1df784255310.tar.gz focaccia-qemu-cb94ff5f80c537e43c04fa4f071f1df784255310.zip | |
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/display/xlnx_dp.c')
| -rw-r--r-- | hw/display/xlnx_dp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c index 341e91e886..eee8f33a58 100644 --- a/hw/display/xlnx_dp.c +++ b/hw/display/xlnx_dp.c @@ -1302,6 +1302,10 @@ static void xlnx_dp_realize(DeviceState *dev, Error **errp) DisplaySurface *surface; struct audsettings as; + if (!AUD_register_card("xlnx_dp.audio", &s->aud_card, errp)) { + return; + } + aux_bus_realize(s->aux_bus); qdev_realize(DEVICE(s->dpcd), BUS(s->aux_bus), &error_fatal); @@ -1320,8 +1324,6 @@ static void xlnx_dp_realize(DeviceState *dev, Error **errp) as.fmt = AUDIO_FORMAT_S16; as.endianness = 0; - AUD_register_card("xlnx_dp.audio", &s->aud_card); - s->amixer_output_stream = AUD_open_out(&s->aud_card, s->amixer_output_stream, "xlnx_dp.audio.out", |