summary refs log tree commit diff stats
path: root/hw/arm/omap2.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/arm/omap2.c')
-rw-r--r--hw/arm/omap2.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/arm/omap2.c b/hw/arm/omap2.c
index d5a2ae7af6..f170728e7e 100644
--- a/hw/arm/omap2.c
+++ b/hw/arm/omap2.c
@@ -37,6 +37,7 @@
 #include "hw/block/flash.h"
 #include "hw/arm/soc_dma.h"
 #include "hw/sysbus.h"
+#include "hw/boards.h"
 #include "audio/audio.h"
 
 /* Enhanced Audio Controller (CODEC only) */
@@ -609,7 +610,11 @@ static struct omap_eac_s *omap_eac_init(struct omap_target_agent_s *ta,
     s->codec.txdrq = *drq;
     omap_eac_reset(s);
 
-    AUD_register_card("OMAP EAC", &s->codec.card);
+    if (current_machine->audiodev) {
+        s->codec.card.name = g_strdup(current_machine->audiodev);
+        s->codec.card.state = audio_state_by_name(s->codec.card.name, &error_fatal);
+    }
+    AUD_register_card("OMAP EAC", &s->codec.card, &error_fatal);
 
     memory_region_init_io(&s->iomem, NULL, &omap_eac_ops, s, "omap.eac",
                           omap_l4_region_size(ta, 0));