Skip to contentSkip to conversation

linux-yocto: enable audio for qemux86 and qemux86-64

PATCH Applied Bruce Ashfield 3 participants 6 messages Feb 23, 2011 – Feb 28, 2011

lore
Share & tools
lore
#0 lore raw

cover linux-yocto: enable audio for qemux86 and qemux86-64

Richard/Saul,

This Fixes [BUGID #488 #734]

As discussed, this enables the configuration options for qemu audio for x86/x86-64 (limited to this for now). I did build and boot testing (but couldn't directly test audio) for the impacted qemu boards.

The commit message from the patch tells the rest of the story:

Enable audio for qemux86/qemux86-64 via the following kernel configuration options.

CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_ENS1370=m
CONFIG_SND_INTEL8X0=m
CONFIG_AC97_BUS=m

The mechanism to trigger these options is in the form of an optional kernel feature that is only appended for qemux86 and qemux86-64, but is contained within the kernel tree.

This allows several things:

- the options to be available/shared for all boards
- the options to be in tree
- to not add the options to every board, which unecessarily bloats the default configuration.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: zedd/kernel
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel

Thanks,
Bruce Ashfield <[email protected]>
---

Bruce Ashfield (1):
linux-yocto: enable audio for selected qemu targets

 meta/classes/kernel-yocto.bbclass                  |    4 +++-
 .../conf/distro/include/poky-default-revisions.inc |    4 ++--
 meta/recipes-kernel/linux/linux-yocto_git.bb       |    6 ++++--
 3 files changed, 9 insertions(+), 5 deletions(-)
#1 lore raw

PATCH 1/1 linux-yocto: enable audio for selected qemu targets

Fixes [BUGID #488 #734]

Enable audio for qemux86/qemux86-64 via the following kernel configuration options.

CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_ENS1370=m
CONFIG_SND_INTEL8X0=m
CONFIG_AC97_BUS=m

The mechanism to trigger these options is in the form of an optional kernel feature that is only appended for qemux86 and qemux86-64, but is contained within the kernel tree.

This allows several things:

- the options to be available/shared for all boards
- the options to be in tree
- to not add the options to every board, which unecessarily bloats the default configuration.

---
 meta/classes/kernel-yocto.bbclass                  |    4 +++-
 .../conf/distro/include/poky-default-revisions.inc |    4 ++--
 meta/recipes-kernel/linux/linux-yocto_git.bb       |    6 ++++--
 3 files changed, 9 insertions(+), 5 deletions(-)
meta/classes/kernel-yocto.bbclass +3 -1
index 15802fa..fc9f3a7 100644
@@ -21,7 +21,9 @@ do_patch() {
 
 	# updates or generates the target description
 	if [ -n "${KERNEL_FEATURES}" ]; then
-	       addon_features="--features ${KERNEL_FEATURES}"
+		for feat in ${KERNEL_FEATURES}; do
+			addon_features="$addon_features --feature $feat"
+		done
 	fi
 	updateme ${addon_features} ${ARCH} ${MACHINE} ${WORKDIR}
 	if [ $? -ne 0 ]; then
meta/conf/distro/include/poky-default-revisions.inc +2 -2
index 32f105a..5321c5a 100644
@@ -59,7 +59,7 @@ SRCREV_pn-gypsy ??= "3652e1f37e82b8e63983e30fda3482cd099a8cf5"
 SRCREV_pn-inputproto ??= "7203036522ba9d4b224d282d6afc2d0b947711ee"
 SRCREV_pn-inputproto-native ??= "7203036522ba9d4b224d282d6afc2d0b947711ee"
 SRCREV_pn-inputproto-nativesdk ??= "7203036522ba9d4b224d282d6afc2d0b947711ee"
-SRCREV_pn-kern-tools-native ??= "4f13a46499261ea181fdc13db5459067df08aca7"
+SRCREV_pn-kern-tools-native ??= "8f61abb6344e78677450994e8930cabc86102d78"
 SRCREV_pn-libdrm ??= "3f3c5be6f908272199ccf53f108b1124bfe0a00e"
 SRCREV_pn-libfakekey ??= "e8c2e412ea4a417afc1f30e32cb7bdc508b1dccc"
 SRCREV_pn-libgdbus ??= "aeab6e3c0185b271ca343b439470491b99cc587f"
@@ -109,7 +109,7 @@ SRCREV_machine_pn-linux-yocto_routerstationpro ?= "b557fff9c7f864ea2a9c81ac80ec1
 SRCREV_machine_pn-linux-yocto_mpc8315e-rdb ?= "8f0124a21f5563b0c51c8426f4430ac222bd463d"
 SRCREV_machine_pn-linux-yocto_beagleboard ?= "929567ec621cf99e0932d8ede34f756e25d4c751"
 SRCREV_machine_pn-linux-yocto ?= "929567ec621cf99e0932d8ede34f756e25d4c751"
-SRCREV_meta_pn-linux-yocto ?= "29047c254624e0bd8a0ac6da92862f7c6357cb0b"
+SRCREV_meta_pn-linux-yocto ?= "94772ea4f51267a6a9aaffd106035d47dfef1354"
 SRCREV_pn-linux-libc-headers-yocto ??= "929567ec621cf99e0932d8ede34f756e25d4c751"
 SRCREV_pn-matchbox-config-gtk ??= "3ed74dfb7c57be088a5ab36e446c0ccde9fa1028"
 SRCREV_pn-matchbox-desktop-sato ??= "76"
meta/recipes-kernel/linux/linux-yocto_git.bb +4 -2
index 75c6fb1..9a3c666 100644
@@ -17,7 +17,7 @@ KMETA = meta
 
 LINUX_VERSION ?= "2.6.37"
 LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
-PR = "r15"
+PR = "r16"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 SRCREV_FORMAT = "meta_machine"
 
@@ -28,7 +28,9 @@ COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64|mpc8315e-rdb|
 
 # Functionality flags
 KERNEL_REVISION_CHECKING ?= "t"
-KERNEL_FEATURES=features/netfilter
+KERNEL_FEATURES="features/netfilter"
+KERNEL_FEATURES_append_qemux86=" cfg/sound"
+KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
 
 # extra tasks
 addtask kernel_link_vmlinux after do_compile before do_install
Signature · 1 line
1.7.0.4
#2 lore raw

Re: [PATCH 1/1] linux-yocto: enable audio for selected qemu targets

Quoted 24 lines · Bruce Ashfield

Fixes [BUGID #488 #734]

Enable audio for qemux86/qemux86-64 via the following kernel configuration options.

CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_ENS1370=m
CONFIG_SND_INTEL8X0=m
CONFIG_AC97_BUS=m

The mechanism to trigger these options is in the form of an optional kernel feature that is only appended for qemux86 and qemux86-64, but is contained within the kernel tree.

Quoted 8 lines

This allows several things:

- the options to be available/shared for all boards
- the options to be in tree
- to not add the options to every board, which unecessarily bloats the default configuration.

Merged to master, thanks Bruce.

Cheers,

Richard

#3 lore raw
In reply to Bruce Ashfield
Quoted 1 line · Bruce Ashfield

Richard/Saul,

Hi Bruce, I'm a little late to the party, but was wondering what your thoughts are on the whole OSS thing. It seems we should be as consistent as possible in our various Yocto Linux kernel images. Do we want to support OSS? I recall several years ago that OSS had drivers that Alsa did not and was needed for some boards - is that still the case? My feeling is, if possible, I'd like to just have alsa in our kernels and help reduce the raging redundancy in the audio API space.

--
Darren

Quoted 61 lines

This Fixes [BUGID #488 #734]

As discussed, this enables the configuration options for qemu audio for x86/x86-64 (limited to this for now). I did build and boot testing (but couldn't directly test audio) for the impacted qemu boards.

The commit message from the patch tells the rest of the story:

Enable audio for qemux86/qemux86-64 via the following kernel configuration options.

   CONFIG_SOUND_OSS_CORE=y
   CONFIG_SOUND_OSS_CORE_PRECLAIM=y
   CONFIG_SND_RAWMIDI=m
   CONFIG_SND_SEQUENCER=y
   CONFIG_SND_OSSEMUL=y
   CONFIG_SND_MIXER_OSS=y
   CONFIG_SND_PCM_OSS=y
   CONFIG_SND_PCM_OSS_PLUGINS=y
   CONFIG_SND_SEQUENCER_OSS=y
   CONFIG_SND_RAWMIDI_SEQ=m
   CONFIG_SND_AC97_CODEC=m
   CONFIG_SND_ENS1370=m
   CONFIG_SND_INTEL8X0=m
   CONFIG_AC97_BUS=m

The mechanism to trigger these options is in the form of an optional kernel feature that is only appended for qemux86 and qemux86-64, but is contained within the kernel tree.

This allows several things:

- the options to be available/shared for all boards
- the options to be in tree
- to not add the options to every board, which unecessarily bloats the default configuration.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: zedd/kernel
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel

Thanks,
Bruce Ashfield<[email protected]>
---

Bruce Ashfield (1):
linux-yocto: enable audio for selected qemu targets

  meta/classes/kernel-yocto.bbclass                  |    4 +++-
  .../conf/distro/include/poky-default-revisions.inc |    4 ++--
  meta/recipes-kernel/linux/linux-yocto_git.bb       |    6 ++++--
  3 files changed, 9 insertions(+), 5 deletions(-)

_______________________________________________
poky mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/poky

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#4 lore raw
Quoted 10 lines · Darren Hart
Quoted 1 line · Bruce Ashfield

Richard/Saul,

Hi Bruce, I'm a little late to the party, but was wondering what your thoughts are on the whole OSS thing. It seems we should be as consistent as possible in our various Yocto Linux kernel images. Do we want to support OSS? I recall several years ago that OSS had drivers that Alsa did not and was needed for some boards - is that still the case? My feeling is, if possible, I'd like to just have alsa in our kernels and help reduce the raging redundancy in the audio API space.

I'd wondered about this too. In general I'd suggest Yocto's position is to push for alsa drivers and see OSS as a legacy thing. As the author of chunks of ALSA SoC code, I've put that into practise myself too! :)

Cheers,

Richard

#5 lore raw
In reply to Darren Hart
Quoted 10 lines · Darren Hart
Quoted 1 line · Bruce Ashfield

Richard/Saul,

Hi Bruce, I'm a little late to the party, but was wondering what your thoughts are on the whole OSS thing. It seems we should be as consistent as possible in our various Yocto Linux kernel images. Do we want to support OSS? I recall several years ago that OSS had drivers that Alsa did not and was needed for some boards - is that still the case? My feeling is, if possible, I'd like to just have alsa in our kernels and help reduce the raging redundancy in the audio API space.

alsa is the defacto / first choice for me.

That's partially why I chose to make this an optional config block for this feature. That way it is optional, and only applied to the specific qemu images that we decided to add it for. All other kernels and BSPs are unaffected.

If/when we get ALSA working for these qemu based machines, we can easily drop this. But it looks like the only avenue for the sound support immediately, so we slide it in in as shallow a manner as possible.

Any and all patches to convert back to ALSA will be happily merged! :)

Bruce

Quoted 67 lines

--
Darren

Quoted 61 lines

This Fixes [BUGID #488 #734]

As discussed, this enables the configuration options for qemu audio for x86/x86-64 (limited to this for now). I did build and boot testing (but couldn't directly test audio) for the impacted qemu boards.

The commit message from the patch tells the rest of the story:

Enable audio for qemux86/qemux86-64 via the following kernel configuration options.

CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=ythe
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RAWMIDI_SEQ=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_ENS1370=m
CONFIG_SND_INTEL8X0=m
CONFIG_AC97_BUS=m

The mechanism to trigger these options is in the form of an optional kernel feature that is only appended for qemux86 and qemux86-64, but is contained within the kernel tree.

This allows several things:

- the options to be available/shared for all boards
- the options to be in tree
- to not add the options to every board, which unecessarily bloats the default configuration.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: zedd/kernel
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel

Thanks,
Bruce Ashfield<[email protected]>
---

Bruce Ashfield (1):
linux-yocto: enable audio for selected qemu targets

meta/classes/kernel-yocto.bbclass | 4 +++- .../conf/distro/include/poky-default-revisions.inc | 4 ++-- meta/recipes-kernel/linux/linux-yocto_git.bb | 6 ++++--

3 files changed, 9 insertions(+), 5 deletions(-)

_______________________________________________
poky mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/poky