Skip to contentSkip to conversation

audio: Make PC speaker audio card available by default

PATCH Applied Jan Kiszka 4 participants 7 messages Jul 19, 2012 – Aug 14, 2012

lore
Share & tools
lore

Jan Kiszka

author
#0 lore raw

PATCH 1/1 audio: Make PC speaker audio card available by default

---
 configure |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
configure +2 -2
index 106209a..42adc8d 100755
@@ -90,8 +90,8 @@ static="no"
 sparc_cpu=""
 cross_prefix=""
 audio_drv_list=""
-audio_card_list="ac97 es1370 sb16 hda"
-audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus hda"
+audio_card_list="ac97 es1370 sb16 hda pcspk"
+audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus hda pcspk"
 block_drv_whitelist=""
 host_cc="gcc"
 helper_cflags=""
Signature · 1 line
1.7.3.4
#2 lore raw
In reply to Jan Kiszka
Quoted 1 line · Jan Kiszka

Broke the build. I'm also confused about why this is necessary.

You can just set CONFIG_PCSPK=y in default-configs/${ARCH}.mak to enable it and indeed, it's enabled by default for a bunch of targets including x86_64.

So... I'm confused what this is fixing. Since I suspect malc and Jan are asleep, I'm going to revert for now to fix the build.

I'll happily help fix whatever Jan was trying to fix tomorrow.

Regards,

Anthony Liguori

Quoted 19 lines
---
  configure |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)
configure +2 -2
index 106209a..42adc8d 100755
@@ -90,8 +90,8 @@ static="no"
  sparc_cpu=""
  cross_prefix=""
  audio_drv_list=""
-audio_card_list="ac97 es1370 sb16 hda"
-audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus hda"
+audio_card_list="ac97 es1370 sb16 hda pcspk"
+audio_possible_cards="ac97 es1370 sb16 cs4231a adlib gus hda pcspk"
  block_drv_whitelist=""
  host_cc="gcc"
  helper_cflags=""
#3 lore raw
Quoted 4 lines · Anthony Liguori
Quoted 1 line · Jan Kiszka

Broke the build. I'm also confused about why this is necessary.

It built fine here[1]. So was i, but...

Quoted 6 lines

You can just set CONFIG_PCSPK=y in default-configs/${ARCH}.mak to enable it and indeed, it's enabled by default for a bunch of targets including x86_64.

So... I'm confused what this is fixing. Since I suspect malc and Jan are asleep, I'm going to revert for now to fix the build.

[..snip..]

[1] i386-softmmu, failing target is apparently ARM though.

Signature · 1 line
mailto:[email protected]
#4 lore raw
Quoted 8 lines · malc
Quoted 4 lines · Anthony Liguori
Quoted 1 line · Jan Kiszka

Broke the build. I'm also confused about why this is necessary.

It built fine here[1]. So was i, but...

Yeah, sorry, was to quick to send a premature workaround instead of trying to understand what actually broke here.

What happened is that pcspk is no longer selectable via -soundhw. And that is because CONFIG_PCSPK, used by arch_init.c to build the static soundhw arraw, is no longer selected at target built time. It became a host level define when we moved the speaker into hwlib. I will try to find some workaround at configure level.

I guess, on the long run, we will have to refactor the audio backend to allow for runtime registration of drivers.

Jan

#5 lore raw

PATCH 1/1 audio: Make pcspk card selectable again

From: Jan Kiszka <[email protected]>

Since we moved pcspk into hwlib, CONFIG_PCSPK is no longer defined per target. Therefore, statically built soundhw array in arch_init.c stopped including this card.

Work around this by re-adding this define to config-target.mak. Long-term, a dynamic creation of this soundhw list will be necessary.

---
 configure |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
configure +5 -0
index 106209a..77b5096 100755
@@ -3818,6 +3818,11 @@ if test "$target_bsd_user" = "yes" ; then
   echo "CONFIG_BSD_USER=y" >> $config_target_mak
 fi
 
+# the static way of configuring available audio cards requires this workaround
+if test "$target_user_only" != "yes" && grep -q CONFIG_PCSPK $source_path/default-configs/$target.mak; then
+  echo "CONFIG_PCSPK=y" >> $config_target_mak
+fi
+
 # generate QEMU_CFLAGS/LDFLAGS for targets
 
 cflags=""
Signature · 1 line
1.7.3.4
author
#6 lore raw

Re: [Qemu-devel] [PATCH] audio: Make pcspk card selectable again

Quoted 21 lines · Jan Kiszka

From: Jan Kiszka <[email protected]>

Since we moved pcspk into hwlib, CONFIG_PCSPK is no longer defined per target. Therefore, statically built soundhw array in arch_init.c stopped including this card.

Work around this by re-adding this define to config-target.mak. Long-term, a dynamic creation of this soundhw list will be necessary.

---
 configure |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
configure +0 -0
index 106209a..77b5096 100755
@@ -3818,6 +3818,11 @@ if test "$target_bsd_user" = "yes" ; then
   echo "CONFIG_BSD_USER=y" >> $config_target_mak

configure if test "$target_bsd_user" = "yes" ; then · line 3828

Quoted 10 lines
configure +5 -0
 fi
 
+# the static way of configuring available audio cards requires this workaround
+if test "$target_user_only" != "yes" && grep -q CONFIG_PCSPK $source_path/default-configs/$target.mak; then
+  echo "CONFIG_PCSPK=y" >> $config_target_mak
+fi
+
 # generate QEMU_CFLAGS/LDFLAGS for targets
 
 cflags=""

Ping.

Sorry in case this arrives twice but the first ping didn't show up on the list for me.

Jan

Signature · 2 lines
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux