Remove the legacy driver init/fini callbacks from the JACK audio backend.
Both qjack_init() and qjack_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>
---
audio/jackaudio.c | 30 +++++++++---------------------
1 file changed, 9 insertions(+), 21 deletions(-)
diff --git a/audio/jackaudio.c b/audio/jackaudio.c
index 972b158f023..31e3da6a7fe 100644
--- a/audio/jackaudio.c
+++ b/audio/jackaudio.c
@@ -44,13 +44,6 @@ struct AudioJack {
static struct audio_driver jack_driver;
-static void audio_jack_class_init(ObjectClass *klass, const void *data)
-{
- AudioMixengBackendClass *k = AUDIO_MIXENG_BACKEND_CLASS(klass);
-
- k->driver = &jack_driver;
-}
-
struct QJack;
typedef enum QJackState {
@@ -518,7 +511,7 @@ static int qjack_init_out(HWVoiceOut *hw, struct audsettings *as,
void *drv_opaque)
{
QJackOut *jo = (QJackOut *)hw;
- Audiodev *dev = (Audiodev *)drv_opaque;
+ Audiodev *dev = hw->s->dev;
jo->c.out = true;
jo->c.enabled = false;
@@ -555,7 +548,7 @@ static int qjack_init_in(HWVoiceIn *hw, struct audsettings *as,
void *drv_opaque)
{
QJackIn *ji = (QJackIn *)hw;
- Audiodev *dev = (Audiodev *)drv_opaque;
+ Audiodev *dev = hw->s->dev;
ji->c.out = false;
ji->c.enabled = false;
@@ -662,16 +655,6 @@ static int qjack_thread_creator(jack_native_thread_t *thread,
}
#endif
-static void *qjack_init(Audiodev *dev, Error **errp)
-{
- assert(dev->driver == AUDIODEV_DRIVER_JACK);
- return dev;
-}
-
-static void qjack_fini(void *opaque)
-{
-}
-
static struct audio_pcm_ops jack_pcm_ops = {
.init_out = qjack_init_out,
.fini_out = qjack_fini_out,
@@ -689,8 +672,6 @@ static struct audio_pcm_ops jack_pcm_ops = {
static struct audio_driver jack_driver = {
.name = "jack",
- .init = qjack_init,
- .fini = qjack_fini,
.pcm_ops = &jack_pcm_ops,
.max_voices_out = INT_MAX,
.max_voices_in = INT_MAX,
@@ -708,6 +689,13 @@ static void qjack_info(const char *msg)
dolog("I: %s\n", msg);
}
+static void audio_jack_class_init(ObjectClass *klass, const void *data)
+{
+ AudioMixengBackendClass *k = AUDIO_MIXENG_BACKEND_CLASS(klass);
+
+ k->driver = &jack_driver;
+}
+
static const TypeInfo audio_types[] = {
{
.name = TYPE_AUDIO_JACK,
--
2.53.0