They are no longer used after conversion to QOM.
Also removing the drv_opaque from a few of the pcm_ops methods.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Reviewed-by: Mark Cave-Ayland <mark.caveayland@nutanix.com>
alsa_anal_close (&alsa->handle, &alsa->pollhlp);
}
-static int alsa_init_out(HWVoiceOut *hw, struct audsettings *as,
- void *drv_opaque)
+static int alsa_init_out(HWVoiceOut *hw, struct audsettings *as)
{
ALSAVoiceOut *alsa = (ALSAVoiceOut *) hw;
struct alsa_params_req req;
}
}
-static int alsa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
+static int alsa_init_in(HWVoiceIn *hw, struct audsettings *as)
{
ALSAVoiceIn *alsa = (ALSAVoiceIn *) hw;
struct alsa_params_req req;
audio_driver *drv = AUDIO_MIXENG_BACKEND_GET_CLASS(be)->driver;
be->dev = dev;
- if (drv->init != NULL) {
- be->drv_opaque = drv->init(be->dev, errp);
- if (!be->drv_opaque) {
- return false;
- }
- }
-
if (!drv->pcm_ops->get_buffer_in) {
drv->pcm_ops->get_buffer_in = audio_generic_get_buffer_in;
drv->pcm_ops->put_buffer_in = audio_generic_put_buffer_in;
QLIST_REMOVE(hwi, entries);
}
- if (s->drv) {
- if (s->drv->fini) {
- s->drv->fini (s->drv_opaque);
- }
- s->drv = NULL;
- }
-
+ s->drv = NULL;
if (s->dev) {
qapi_free_Audiodev(s->dev);
s->dev = NULL;
typedef struct audio_driver audio_driver;
struct audio_driver {
const char *name;
- void *(*init) (Audiodev *, Error **);
- void (*fini) (void *);
struct audio_pcm_ops *pcm_ops;
int max_voices_out;
int max_voices_in;
size_t voice_size_out;
size_t voice_size_in;
- QLIST_ENTRY(audio_driver) next;
};
struct audio_pcm_ops {
- int (*init_out)(HWVoiceOut *hw, audsettings *as, void *drv_opaque);
+ int (*init_out)(HWVoiceOut *hw, audsettings *as);
void (*fini_out)(HWVoiceOut *hw);
size_t (*write) (HWVoiceOut *hw, void *buf, size_t size);
void (*run_buffer_out)(HWVoiceOut *hw);
void (*enable_out)(HWVoiceOut *hw, bool enable);
void (*volume_out)(HWVoiceOut *hw, Volume *vol);
- int (*init_in) (HWVoiceIn *hw, audsettings *as, void *drv_opaque);
+ int (*init_in) (HWVoiceIn *hw, audsettings *as);
void (*fini_in) (HWVoiceIn *hw);
size_t (*read) (HWVoiceIn *hw, void *buf, size_t size);
void (*run_buffer_in)(HWVoiceIn *hw);
struct audio_driver *drv;
Audiodev *dev;
- void *drv_opaque;
QEMUTimer *ts;
QLIST_HEAD (hw_in_listhead, HWVoiceIn) hw_head_in;
#ifdef DAC
QLIST_INIT (&hw->cap_head);
#endif
- if (glue (hw->pcm_ops->init_, TYPE) (hw, as, s->drv_opaque)) {
+ if (glue (hw->pcm_ops->init_, TYPE) (hw, as)) {
goto err0;
}
return 0;
}
-static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as,
- void *drv_opaque)
+static int coreaudio_init_out(HWVoiceOut *hw, struct audsettings *as)
{
OSStatus status;
coreaudioVoiceOut *core = (coreaudioVoiceOut *) hw;
}
static int
-dbus_init_out(HWVoiceOut *hw, struct audsettings *as, void *drv_opaque)
+dbus_init_out(HWVoiceOut *hw, struct audsettings *as)
{
AudioDbus *da = AUDIO_DBUS(hw->s);
DBusVoiceOut *vo = container_of(hw, DBusVoiceOut, hw);
}
static int
-dbus_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
+dbus_init_in(HWVoiceIn *hw, struct audsettings *as)
{
AudioDbus *da = AUDIO_DBUS(hw->s);
DBusVoiceIn *vo = container_of(hw, DBusVoiceIn, hw);
}
#ifdef DSBTYPE_IN
-static int dsound_init_in(HWVoiceIn *hw, struct audsettings *as,
- void *drv_opaque)
+static int dsound_init_in(HWVoiceIn *hw, struct audsettings *as)
#else
-static int dsound_init_out(HWVoiceOut *hw, struct audsettings *as,
- void *drv_opaque)
+static int dsound_init_out(HWVoiceOut *hw, struct audsettings *as)
#endif
{
int err;
return 0;
}
-static int qjack_init_out(HWVoiceOut *hw, struct audsettings *as,
- void *drv_opaque)
+static int qjack_init_out(HWVoiceOut *hw, struct audsettings *as)
{
QJackOut *jo = (QJackOut *)hw;
Audiodev *dev = hw->s->dev;
return 0;
}
-static int qjack_init_in(HWVoiceIn *hw, struct audsettings *as,
- void *drv_opaque)
+static int qjack_init_in(HWVoiceIn *hw, struct audsettings *as)
{
QJackIn *ji = (QJackIn *)hw;
Audiodev *dev = hw->s->dev;
return audio_rate_get_bytes(&no->rate, &hw->info, len);
}
-static int no_init_out(HWVoiceOut *hw, struct audsettings *as, void *drv_opaque)
+static int no_init_out(HWVoiceOut *hw, struct audsettings *as)
{
NoVoiceOut *no = (NoVoiceOut *) hw;
}
}
-static int no_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
+static int no_init_in(HWVoiceIn *hw, struct audsettings *as)
{
NoVoiceIn *no = (NoVoiceIn *) hw;
}
}
-static int oss_init_out(HWVoiceOut *hw, struct audsettings *as,
- void *drv_opaque)
+static int oss_init_out(HWVoiceOut *hw, struct audsettings *as)
{
OSSVoiceOut *oss = (OSSVoiceOut *) hw;
struct oss_params req, obt;
}
}
-static int oss_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
+static int oss_init_in(HWVoiceIn *hw, struct audsettings *as)
{
OSSVoiceIn *oss = (OSSVoiceIn *) hw;
struct oss_params req, obt;
return NULL;
}
-static int qpa_init_out(HWVoiceOut *hw, struct audsettings *as,
- void *drv_opaque)
+static int qpa_init_out(HWVoiceOut *hw, struct audsettings *as)
{
AudioMixengBackend *amb = hw->s;
AudioPa *apa = AUDIO_PA(amb);
return -1;
}
-static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
+static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as)
{
AudioMixengBackend *amb = hw->s;
AudioPa *apa = AUDIO_PA(amb);
}
static int
-qpw_init_out(HWVoiceOut *hw, struct audsettings *as, void *drv_opaque)
+qpw_init_out(HWVoiceOut *hw, struct audsettings *as)
{
AudioPw *c = AUDIO_PW(hw->s);
PWVoiceOut *pw = (PWVoiceOut *) hw;
}
static int
-qpw_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
+qpw_init_in(HWVoiceIn *hw, struct audsettings *as)
{
AudioPw *c = AUDIO_PW(hw->s);
PWVoiceIn *pw = (PWVoiceIn *) hw;
sdl_close_out(sdl);
}
-static int sdl_init_out(HWVoiceOut *hw, struct audsettings *as,
- void *drv_opaque)
+static int sdl_init_out(HWVoiceOut *hw, struct audsettings *as)
{
SDLVoiceOut *sdl = (SDLVoiceOut *)hw;
SDL_AudioSpec req, obt;
sdl_close_in(sdl);
}
-static int sdl_init_in(HWVoiceIn *hw, audsettings *as, void *drv_opaque)
+static int sdl_init_in(HWVoiceIn *hw, audsettings *as)
{
SDLVoiceIn *sdl = (SDLVoiceIn *)hw;
SDL_AudioSpec req, obt;
sndio_enable(self, enable);
}
-static int sndio_init_out(HWVoiceOut *hw, struct audsettings *as, void *opaque)
+static int sndio_init_out(HWVoiceOut *hw, struct audsettings *as)
{
SndioVoice *self = (SndioVoice *) hw;
return 0;
}
-static int sndio_init_in(HWVoiceIn *hw, struct audsettings *as, void *opaque)
+static int sndio_init_in(HWVoiceIn *hw, struct audsettings *as)
{
SndioVoice *self = (SndioVoice *) hw;
/* playback */
-static int line_out_init(HWVoiceOut *hw, struct audsettings *as,
- void *drv_opaque)
+static int line_out_init(HWVoiceOut *hw, struct audsettings *as)
{
SpiceVoiceOut *out = container_of (hw, SpiceVoiceOut, hw);
struct audsettings settings;
/* record */
-static int line_in_init(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
+static int line_in_init(HWVoiceIn *hw, struct audsettings *as)
{
SpiceVoiceIn *in = container_of (hw, SpiceVoiceIn, hw);
struct audsettings settings;
}
}
-static int wav_init_out(HWVoiceOut *hw, struct audsettings *as,
- void *drv_opaque)
+static int wav_init_out(HWVoiceOut *hw, struct audsettings *as)
{
WAVVoiceOut *wav = (WAVVoiceOut *) hw;
int bits16 = 0, stereo = 0;