summary refs log tree commit diff stats
path: root/audio/sdlaudio.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2018-03-06 08:40:47 +0100
committerGerd Hoffmann <kraxel@redhat.com>2018-03-12 11:18:26 +0100
commitd3893a39eb0165809325071ab07984797d78e57a (patch)
treead48738682ee38a743635bc79a99c62515f3998b /audio/sdlaudio.c
parenta88afc649e53adc1cac00bb5803fbafdd4d99994 (diff)
downloadfocaccia-qemu-d3893a39eb0165809325071ab07984797d78e57a.tar.gz
focaccia-qemu-d3893a39eb0165809325071ab07984797d78e57a.zip
audio: add driver registry
Add registry for audio drivers, using the existing audio_driver struct.
Make all drivers register themself.  The old list of audio_driver struct
pointers is now a list of audio driver names, specifying the priority
(aka probe order) in case no driver is explicitly asked for.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-id: 20180306074053.22856-2-kraxel@redhat.com
Diffstat (limited to 'audio/sdlaudio.c')
-rw-r--r--audio/sdlaudio.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/audio/sdlaudio.c b/audio/sdlaudio.c
index e92135bd2f..9db5ac92bc 100644
--- a/audio/sdlaudio.c
+++ b/audio/sdlaudio.c
@@ -500,7 +500,7 @@ static struct audio_pcm_ops sdl_pcm_ops = {
     .ctl_out  = sdl_ctl_out,
 };
 
-struct audio_driver sdl_audio_driver = {
+static struct audio_driver sdl_audio_driver = {
     .name           = "sdl",
     .descr          = "SDL http://www.libsdl.org",
     .options        = sdl_options,
@@ -513,3 +513,9 @@ struct audio_driver sdl_audio_driver = {
     .voice_size_out = sizeof (SDLVoiceOut),
     .voice_size_in  = 0
 };
+
+static void register_audio_sdl(void)
+{
+    audio_driver_register(&sdl_audio_driver);
+}
+type_init(register_audio_sdl);