mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 01:34:14 +08:00
111b0cdb97
Many drivers bind the sequencer stuff in off-load by another driver module, so that it's loaded only on demand. In the current code, this mechanism doesn't work when the driver is built-in while the sequencer is module. We check with IS_REACHABLE() and enable only when the sequencer is in the same level of build. However, this is basically a overshoot. The binder code (snd-seq-device) is an individual module from the sequencer core (snd-seq), and we just have to make the former a built-in while keeping the latter a module for allowing the scenario like the above. This patch achieves that by rewriting Kconfig slightly. Now, a driver that provides the manual sequencer device binding should select CONFIG_SND_SEQ_DEVICE in a way as select SND_SEQ_DEVICE if SND_SEQUENCER != n Note that the "!=n" is needed here to avoid the influence of the sequencer core is module while the driver is built-in. Also, since rawmidi.o may be linked with snd_seq_device.o when built-in, we have to shuffle the code to make the linker happy. (the kernel linker isn't smart enough yet to handle such a case.) That is, snd_seq_device.c is moved to sound/core from sound/core/seq, as well as Makefile. Last but not least, the patch replaces the code using IS_REACHABLE() with IS_ENABLED(), since now the condition meets always when enabled. Signed-off-by: Takashi Iwai <tiwai@suse.de>
51 lines
1.5 KiB
Makefile
51 lines
1.5 KiB
Makefile
#
|
|
# Makefile for ALSA
|
|
# Copyright (c) 1999,2001 by Jaroslav Kysela <perex@perex.cz>
|
|
#
|
|
|
|
snd-y := sound.o init.o memory.o control.o misc.o device.o
|
|
ifneq ($(CONFIG_SND_PROC_FS),)
|
|
snd-y += info.o
|
|
snd-$(CONFIG_SND_OSSEMUL) += info_oss.o
|
|
endif
|
|
snd-$(CONFIG_ISA_DMA_API) += isadma.o
|
|
snd-$(CONFIG_SND_OSSEMUL) += sound_oss.o
|
|
snd-$(CONFIG_SND_VMASTER) += vmaster.o
|
|
snd-$(CONFIG_SND_JACK) += ctljack.o jack.o
|
|
|
|
snd-pcm-y := pcm.o pcm_native.o pcm_lib.o pcm_misc.o \
|
|
pcm_memory.o memalloc.o
|
|
snd-pcm-$(CONFIG_SND_PCM_TIMER) += pcm_timer.o
|
|
snd-pcm-$(CONFIG_SND_DMA_SGBUF) += sgbuf.o
|
|
snd-pcm-$(CONFIG_SND_PCM_ELD) += pcm_drm_eld.o
|
|
snd-pcm-$(CONFIG_SND_PCM_IEC958) += pcm_iec958.o
|
|
|
|
# for trace-points
|
|
CFLAGS_pcm_lib.o := -I$(src)
|
|
CFLAGS_pcm_native.o := -I$(src)
|
|
|
|
snd-pcm-dmaengine-objs := pcm_dmaengine.o
|
|
|
|
snd-rawmidi-objs := rawmidi.o
|
|
snd-timer-objs := timer.o
|
|
snd-hrtimer-objs := hrtimer.o
|
|
snd-rtctimer-objs := rtctimer.o
|
|
snd-hwdep-objs := hwdep.o
|
|
snd-seq-device-objs := seq_device.o
|
|
|
|
snd-compress-objs := compress_offload.o
|
|
|
|
obj-$(CONFIG_SND) += snd.o
|
|
obj-$(CONFIG_SND_HWDEP) += snd-hwdep.o
|
|
obj-$(CONFIG_SND_TIMER) += snd-timer.o
|
|
obj-$(CONFIG_SND_HRTIMER) += snd-hrtimer.o
|
|
obj-$(CONFIG_SND_PCM) += snd-pcm.o
|
|
obj-$(CONFIG_SND_DMAENGINE_PCM) += snd-pcm-dmaengine.o
|
|
obj-$(CONFIG_SND_SEQ_DEVICE) += snd-seq-device.o
|
|
obj-$(CONFIG_SND_RAWMIDI) += snd-rawmidi.o
|
|
|
|
obj-$(CONFIG_SND_OSSEMUL) += oss/
|
|
obj-$(CONFIG_SND_SEQUENCER) += seq/
|
|
|
|
obj-$(CONFIG_SND_COMPRESS_OFFLOAD) += snd-compress.o
|