From e922b0028fad87de0d262f9fa51f98595d2df258 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 18 Feb 2008 13:03:13 +0100 Subject: [PATCH] [ALSA] Move vmaster code to sound core Move the codes for virtual master controls to sound core part so that not only hda-intel drivers can use it. Signed-off-by: Takashi Iwai --- include/sound/control.h | 7 +++++++ sound/core/Kconfig | 4 ++++ sound/core/Makefile | 1 + sound/{pci/hda => core}/vmaster.c | 4 ++++ sound/pci/Kconfig | 1 + sound/pci/hda/hda_local.h | 7 ------- 6 files changed, 17 insertions(+), 7 deletions(-) rename sound/{pci/hda => core}/vmaster.c (99%) diff --git a/include/sound/control.h b/include/sound/control.h index e79baa63912f..3dc1291f52db 100644 --- a/include/sound/control.h +++ b/include/sound/control.h @@ -169,4 +169,11 @@ int snd_ctl_boolean_mono_info(struct snd_kcontrol *kcontrol, int snd_ctl_boolean_stereo_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); +/* + * virtual master control + */ +struct snd_kcontrol *snd_ctl_make_virtual_master(char *name, + const unsigned int *tlv); +int snd_ctl_add_slave(struct snd_kcontrol *master, struct snd_kcontrol *slave); + #endif /* __SOUND_CONTROL_H */ diff --git a/sound/core/Kconfig b/sound/core/Kconfig index 829ca38b595e..a8d71c6c8e75 100644 --- a/sound/core/Kconfig +++ b/sound/core/Kconfig @@ -181,3 +181,7 @@ config SND_PCM_XRUN_DEBUG It is usually not required, but if you have trouble with sound clicking when system is loaded, it may help to determine the process or driver which causes the scheduling gaps. + +config SND_VMASTER + bool + depends on SND diff --git a/sound/core/Makefile b/sound/core/Makefile index 267039a97bd5..da8e685eef9c 100644 --- a/sound/core/Makefile +++ b/sound/core/Makefile @@ -6,6 +6,7 @@ snd-y := sound.o init.o memory.o info.o control.o misc.o device.o snd-$(CONFIG_ISA_DMA_API) += isadma.o snd-$(CONFIG_SND_OSSEMUL) += sound_oss.o info_oss.o +snd-$(CONFIG_SND_VMASTER) += vmaster.o snd-pcm-objs := pcm.o pcm_native.o pcm_lib.o pcm_timer.o pcm_misc.o \ pcm_memory.o diff --git a/sound/pci/hda/vmaster.c b/sound/core/vmaster.c similarity index 99% rename from sound/pci/hda/vmaster.c rename to sound/core/vmaster.c index 2da49d20a1fc..7cfd8b8fb4e7 100644 --- a/sound/pci/hda/vmaster.c +++ b/sound/core/vmaster.c @@ -253,6 +253,8 @@ int snd_ctl_add_slave(struct snd_kcontrol *master, struct snd_kcontrol *slave) return 0; } +EXPORT_SYMBOL(snd_ctl_add_slave); + /* * ctl callbacks for master controls */ @@ -362,3 +364,5 @@ struct snd_kcontrol *snd_ctl_make_virtual_master(char *name, } return kctl; } + +EXPORT_SYMBOL(snd_ctl_make_virtual_master); diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig index 812085d521f1..48296d97bf33 100644 --- a/sound/pci/Kconfig +++ b/sound/pci/Kconfig @@ -517,6 +517,7 @@ config SND_HDA_INTEL tristate "Intel HD Audio" depends on SND select SND_PCM + select SND_VMASTER help Say Y here to include support for Intel "High Definition Audio" (Azalia) motherboard devices. diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h index ce2ad42a8a8a..5c9e578f7f2d 100644 --- a/sound/pci/hda/hda_local.h +++ b/sound/pci/hda/hda_local.h @@ -418,11 +418,4 @@ int snd_hda_check_amp_list_power(struct hda_codec *codec, hda_nid_t nid); #endif /* CONFIG_SND_HDA_POWER_SAVE */ -/* - * virtual master control - */ -struct snd_kcontrol *snd_ctl_make_virtual_master(char *name, - const unsigned int *tlv); -int snd_ctl_add_slave(struct snd_kcontrol *master, struct snd_kcontrol *slave); - #endif /* __SOUND_HDA_LOCAL_H */