[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 5/9] hw/audio: Simplify hda audio init
From: |
Paolo Bonzini |
Subject: |
[PULL 5/9] hw/audio: Simplify hda audio init |
Date: |
Fri, 22 Sep 2023 17:42:24 +0200 |
From: Martin Kletzander <mkletzan@redhat.com>
No return values are used anywhere, so switch the functions to be void
and add support for error reporting using errp for use in next patches.
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-ID:
<cd1df4ad2a6fae969c4a02a77955c4a8c0d430b6.1650874791.git.mkletzan@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/audio/hda-codec.c | 32 ++++++++++++++++++--------------
hw/audio/intel-hda.c | 4 +---
hw/audio/intel-hda.h | 2 +-
3 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c
index c51d8ba6177..a26048cf15e 100644
--- a/hw/audio/hda-codec.c
+++ b/hw/audio/hda-codec.c
@@ -675,7 +675,9 @@ static void hda_audio_stream(HDACodecDevice *hda, uint32_t
stnr, bool running, b
}
}
-static int hda_audio_init(HDACodecDevice *hda, const struct desc_codec *desc)
+static void hda_audio_init(HDACodecDevice *hda,
+ const struct desc_codec *desc,
+ Error **errp)
{
HDAAudioState *a = HDA_AUDIO(hda);
HDAAudioStream *st;
@@ -718,7 +720,6 @@ static int hda_audio_init(HDACodecDevice *hda, const struct
desc_codec *desc)
break;
}
}
- return 0;
}
static void hda_audio_exit(HDACodecDevice *hda)
@@ -848,37 +849,40 @@ static Property hda_audio_properties[] = {
DEFINE_PROP_END_OF_LIST(),
};
-static int hda_audio_init_output(HDACodecDevice *hda)
+static void hda_audio_init_output(HDACodecDevice *hda, Error **errp)
{
HDAAudioState *a = HDA_AUDIO(hda);
+ const struct desc_codec *desc = &output_nomixemu;
if (!a->mixer) {
- return hda_audio_init(hda, &output_nomixemu);
- } else {
- return hda_audio_init(hda, &output_mixemu);
+ desc = &output_mixemu;
}
+
+ hda_audio_init(hda, desc, errp);
}
-static int hda_audio_init_duplex(HDACodecDevice *hda)
+static void hda_audio_init_duplex(HDACodecDevice *hda, Error **errp)
{
HDAAudioState *a = HDA_AUDIO(hda);
+ const struct desc_codec *desc = &duplex_nomixemu;
if (!a->mixer) {
- return hda_audio_init(hda, &duplex_nomixemu);
- } else {
- return hda_audio_init(hda, &duplex_mixemu);
+ desc = &duplex_mixemu;
}
+
+ hda_audio_init(hda, desc, errp);
}
-static int hda_audio_init_micro(HDACodecDevice *hda)
+static void hda_audio_init_micro(HDACodecDevice *hda, Error **errp)
{
HDAAudioState *a = HDA_AUDIO(hda);
+ const struct desc_codec *desc = µ_nomixemu;
if (!a->mixer) {
- return hda_audio_init(hda, µ_nomixemu);
- } else {
- return hda_audio_init(hda, µ_mixemu);
+ desc = µ_mixemu;
}
+
+ hda_audio_init(hda, desc, errp);
}
static void hda_audio_base_class_init(ObjectClass *klass, void *data)
diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
index b9ed231fe84..78ff9f9a680 100644
--- a/hw/audio/intel-hda.c
+++ b/hw/audio/intel-hda.c
@@ -71,9 +71,7 @@ static void hda_codec_dev_realize(DeviceState *qdev, Error
**errp)
return;
}
bus->next_cad = dev->cad + 1;
- if (cdc->init(dev) != 0) {
- error_setg(errp, "HDA audio init failed");
- }
+ cdc->init(dev, errp);
}
static void hda_codec_dev_unrealize(DeviceState *qdev)
diff --git a/hw/audio/intel-hda.h b/hw/audio/intel-hda.h
index f78c1833e34..8d710eee5d6 100644
--- a/hw/audio/intel-hda.h
+++ b/hw/audio/intel-hda.h
@@ -31,7 +31,7 @@ struct HDACodecBus {
struct HDACodecDeviceClass {
DeviceClass parent_class;
- int (*init)(HDACodecDevice *dev);
+ void (*init)(HDACodecDevice *dev, Error **errp);
void (*exit)(HDACodecDevice *dev);
void (*command)(HDACodecDevice *dev, uint32_t nid, uint32_t data);
void (*stream)(HDACodecDevice *dev, uint32_t stnr, bool running, bool
output);
--
2.41.0
- [PULL v2 0/9] i386, audio changes for 2023-09-22, Paolo Bonzini, 2023/09/22
- [PULL 1/9] target/i386: enumerate bit 56 of MSR_IA32_VMX_BASIC, Paolo Bonzini, 2023/09/22
- [PULL 2/9] target/i386: Export GDS_NO bit to guests, Paolo Bonzini, 2023/09/22
- [PULL 3/9] qemu/timer: Add host ticks function for RISC-V, Paolo Bonzini, 2023/09/22
- [PULL 4/9] hw/input/tsc210x: Extract common init code into new function, Paolo Bonzini, 2023/09/22
- [PULL 5/9] hw/audio: Simplify hda audio init,
Paolo Bonzini <=
- [PULL 6/9] hw/audio/lm4549: Add errp error reporting to init function, Paolo Bonzini, 2023/09/22
- [PULL 7/9] hw/display/xlnx_dp.c: Add audiodev property, Paolo Bonzini, 2023/09/22
- [PULL 8/9] tests/qtest: Specify audiodev= and -audiodev, Paolo Bonzini, 2023/09/22
- [PULL 9/9] vl: recognize audiodev groups in configuration files, Paolo Bonzini, 2023/09/22
- Re: [PULL v2 0/9] i386, audio changes for 2023-09-22, Stefan Hajnoczi, 2023/09/25