summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-06-09 08:40:18 -0400
committerTakashi Iwai <tiwai@suse.de>2017-06-09 16:10:06 -0400
commit0181307abc1d2eb2a0dead93870bcffadddb827c (patch)
tree74527dcfd33dda528f423aa32e14788641694c83
parent3d774d5ef066971aee1839150bf47d100d8e43d3 (diff)
ALSA: seq: Reorganize kconfig and build
This is a slightly intensive rewrite of Kconfig and Makefile about ALSA sequencer stuff. The first major change is that the kconfig items for the sequencer are moved to sound/core/seq/Kconfig. OK, that's easy. The substantial change is that, instead of hackish top-level module selection in Makefile, we define a Kconfig item for each sequencer module. The driver that requires such sequencer components select exclusively the kconfig items. This is more straightforward and standard way. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/core/Kconfig47
-rw-r--r--sound/core/seq/Kconfig68
-rw-r--r--sound/core/seq/Makefile13
-rw-r--r--sound/drivers/Kconfig13
-rw-r--r--sound/isa/Kconfig6
-rw-r--r--sound/pci/Kconfig6
6 files changed, 86 insertions, 67 deletions
diff --git a/sound/core/Kconfig b/sound/core/Kconfig
index d64dbee36986..90990eb1d250 100644
--- a/sound/core/Kconfig
+++ b/sound/core/Kconfig
@@ -33,31 +33,6 @@ config SND_JACK_INPUT_DEV
33 depends on SND_JACK 33 depends on SND_JACK
34 default y if INPUT=y || INPUT=SND 34 default y if INPUT=y || INPUT=SND
35 35
36config SND_SEQUENCER
37 tristate "Sequencer support"
38 select SND_TIMER
39 help
40 Say Y or M to enable MIDI sequencer and router support. This
41 feature allows routing and enqueueing of MIDI events. Events
42 can be processed at a given time.
43
44 Many programs require this feature, so you should enable it
45 unless you know what you're doing.
46
47config SND_SEQ_DUMMY
48 tristate "Sequencer dummy client"
49 depends on SND_SEQUENCER
50 help
51 Say Y here to enable the dummy sequencer client. This client
52 is a simple MIDI-through client: all normal input events are
53 redirected to the output port immediately.
54
55 You don't need this unless you want to connect many MIDI
56 devices or applications together.
57
58 To compile this driver as a module, choose M here: the module
59 will be called snd-seq-dummy.
60
61config SND_OSSEMUL 36config SND_OSSEMUL
62 bool "Enable OSS Emulation" 37 bool "Enable OSS Emulation"
63 select SOUND_OSS_CORE 38 select SOUND_OSS_CORE
@@ -109,20 +84,6 @@ config SND_PCM_TIMER
109 For some embedded devices, we may disable it to reduce memory 84 For some embedded devices, we may disable it to reduce memory
110 footprint, about 20KB on x86_64 platform. 85 footprint, about 20KB on x86_64 platform.
111 86
112config SND_SEQUENCER_OSS
113 tristate "OSS Sequencer API"
114 depends on SND_SEQUENCER
115 depends on SND_OSSEMUL
116 help
117 Say Y here to enable OSS sequencer emulation (both
118 /dev/sequencer and /dev/music interfaces).
119
120 Many programs still use the OSS API, so say Y.
121
122 If you choose M in "Sequencer support" (SND_SEQUENCER),
123 this will be compiled as a module. The module will be called
124 snd-seq-oss.
125
126config SND_HRTIMER 87config SND_HRTIMER
127 tristate "HR-timer backend support" 88 tristate "HR-timer backend support"
128 depends on HIGH_RES_TIMERS 89 depends on HIGH_RES_TIMERS
@@ -135,14 +96,6 @@ config SND_HRTIMER
135 To compile this driver as a module, choose M here: the module 96 To compile this driver as a module, choose M here: the module
136 will be called snd-hrtimer. 97 will be called snd-hrtimer.
137 98
138config SND_SEQ_HRTIMER_DEFAULT
139 bool "Use HR-timer as default sequencer timer"
140 depends on SND_HRTIMER && SND_SEQUENCER
141 default y
142 help
143 Say Y here to use the HR-timer backend as the default sequencer
144 timer.
145
146config SND_DYNAMIC_MINORS 99config SND_DYNAMIC_MINORS
147 bool "Dynamic device file minor numbers" 100 bool "Dynamic device file minor numbers"
148 help 101 help
diff --git a/sound/core/seq/Kconfig b/sound/core/seq/Kconfig
index b851fd890a89..140e640e62a6 100644
--- a/sound/core/seq/Kconfig
+++ b/sound/core/seq/Kconfig
@@ -1,16 +1,62 @@
1# define SND_XXX_SEQ to min(SND_SEQUENCER,SND_XXX) 1config SND_SEQUENCER
2 tristate "Sequencer support"
3 select SND_TIMER
4 help
5 Say Y or M to enable MIDI sequencer and router support. This
6 feature allows routing and enqueueing of MIDI events. Events
7 can be processed at a given time.
2 8
3config SND_RAWMIDI_SEQ 9 Many programs require this feature, so you should enable it
4 def_tristate SND_SEQUENCER && SND_RAWMIDI 10 unless you know what you're doing.
5 11
6config SND_OPL3_LIB_SEQ 12if SND_SEQUENCER
7 def_tristate SND_SEQUENCER && SND_OPL3_LIB
8 13
9config SND_OPL4_LIB_SEQ 14config SND_SEQ_DUMMY
10 def_tristate SND_SEQUENCER && SND_OPL4_LIB 15 tristate "Sequencer dummy client"
16 help
17 Say Y here to enable the dummy sequencer client. This client
18 is a simple MIDI-through client: all normal input events are
19 redirected to the output port immediately.
11 20
12config SND_SBAWE_SEQ 21 You don't need this unless you want to connect many MIDI
13 def_tristate SND_SEQUENCER && SND_SBAWE 22 devices or applications together.
23
24 To compile this driver as a module, choose M here: the module
25 will be called snd-seq-dummy.
26
27config SND_SEQUENCER_OSS
28 tristate "OSS Sequencer API"
29 depends on SND_OSSEMUL
30 select SND_SEQ_MIDI_EVENT
31 help
32 Say Y here to enable OSS sequencer emulation (both
33 /dev/sequencer and /dev/music interfaces).
34
35 Many programs still use the OSS API, so say Y.
36
37 To compile this driver as a module, choose M here: the module
38 will be called snd-seq-oss.
39
40config SND_SEQ_HRTIMER_DEFAULT
41 bool "Use HR-timer as default sequencer timer"
42 depends on SND_HRTIMER
43 default y
44 help
45 Say Y here to use the HR-timer backend as the default sequencer
46 timer.
47
48config SND_SEQ_MIDI_EVENT
49 def_tristate SND_RAWMIDI
50
51config SND_SEQ_MIDI
52 tristate
53 select SND_SEQ_MIDI_EVENT
54
55config SND_SEQ_MIDI_EMUL
56 tristate
57
58config SND_SEQ_VIRMIDI
59 tristate
60
61endif # SND_SEQUENCER
14 62
15config SND_EMU10K1_SEQ
16 def_tristate SND_SEQUENCER && SND_EMU10K1
diff --git a/sound/core/seq/Makefile b/sound/core/seq/Makefile
index 3283b055e5ff..81a8ea537209 100644
--- a/sound/core/seq/Makefile
+++ b/sound/core/seq/Makefile
@@ -15,15 +15,10 @@ snd-seq-dummy-objs := seq_dummy.o
15snd-seq-virmidi-objs := seq_virmidi.o 15snd-seq-virmidi-objs := seq_virmidi.o
16 16
17obj-$(CONFIG_SND_SEQUENCER) += snd-seq.o snd-seq-device.o 17obj-$(CONFIG_SND_SEQUENCER) += snd-seq.o snd-seq-device.o
18obj-$(CONFIG_SND_SEQUENCER_OSS) += snd-seq-midi-event.o
19obj-$(CONFIG_SND_SEQUENCER_OSS) += oss/ 18obj-$(CONFIG_SND_SEQUENCER_OSS) += oss/
20 19
21obj-$(CONFIG_SND_SEQ_DUMMY) += snd-seq-dummy.o 20obj-$(CONFIG_SND_SEQ_DUMMY) += snd-seq-dummy.o
22 21obj-$(CONFIG_SND_SEQ_MIDI) += snd-seq-midi.o
23# Toplevel Module Dependency 22obj-$(CONFIG_SND_SEQ_MIDI_EMUL) += snd-seq-midi-emul.o
24obj-$(CONFIG_SND_VIRMIDI) += snd-seq-virmidi.o snd-seq-midi-event.o 23obj-$(CONFIG_SND_SEQ_MIDI_EVENT) += snd-seq-midi-event.o
25obj-$(CONFIG_SND_RAWMIDI_SEQ) += snd-seq-midi.o snd-seq-midi-event.o 24obj-$(CONFIG_SND_SEQ_VIRMIDI) += snd-seq-virmidi.o
26obj-$(CONFIG_SND_OPL3_LIB_SEQ) += snd-seq-midi-event.o snd-seq-midi-emul.o
27obj-$(CONFIG_SND_OPL4_LIB_SEQ) += snd-seq-midi-event.o snd-seq-midi-emul.o
28obj-$(CONFIG_SND_SBAWE_SEQ) += snd-seq-midi-emul.o snd-seq-virmidi.o
29obj-$(CONFIG_SND_EMU10K1_SEQ) += snd-seq-midi-emul.o snd-seq-virmidi.o
diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig
index 8545da99b183..0e3dc80a7262 100644
--- a/sound/drivers/Kconfig
+++ b/sound/drivers/Kconfig
@@ -12,6 +12,17 @@ config SND_OPL4_LIB
12 select SND_TIMER 12 select SND_TIMER
13 select SND_HWDEP 13 select SND_HWDEP
14 14
15# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
16config SND_OPL3_LIB_SEQ
17 def_tristate SND_SEQUENCER && SND_OPL3_LIB
18 select SND_SEQ_MIDI_EMUL
19 select SND_SEQ_MIDI_EVENT
20
21config SND_OPL4_LIB_SEQ
22 def_tristate SND_SEQUENCER && SND_OPL4_LIB
23 select SND_SEQ_MIDI_EMUL
24 select SND_SEQ_MIDI_EVENT
25
15config SND_VX_LIB 26config SND_VX_LIB
16 tristate 27 tristate
17 select FW_LOADER 28 select FW_LOADER
@@ -99,6 +110,8 @@ config SND_VIRMIDI
99 depends on SND_SEQUENCER 110 depends on SND_SEQUENCER
100 select SND_TIMER 111 select SND_TIMER
101 select SND_RAWMIDI 112 select SND_RAWMIDI
113 select SND_SEQ_VIRMIDI
114 select SND_SEQ_MIDI_EVENT
102 help 115 help
103 Say Y here to include the virtual MIDI driver. This driver 116 Say Y here to include the virtual MIDI driver. This driver
104 allows to connect applications using raw MIDI devices to 117 allows to connect applications using raw MIDI devices to
diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig
index 37adcc6cbe6b..bf1ab340e2a7 100644
--- a/sound/isa/Kconfig
+++ b/sound/isa/Kconfig
@@ -384,6 +384,12 @@ config SND_SBAWE
384 To compile this driver as a module, choose M here: the module 384 To compile this driver as a module, choose M here: the module
385 will be called snd-sbawe. 385 will be called snd-sbawe.
386 386
387# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
388config SND_SBAWE_SEQ
389 def_tristate SND_SEQUENCER && SND_SBAWE
390 select SND_SEQ_MIDI_EMUL
391 select SND_SEQ_VIRMIDI
392
387config SND_SB16_CSP 393config SND_SB16_CSP
388 bool "Sound Blaster 16/AWE CSP support" 394 bool "Sound Blaster 16/AWE CSP support"
389 depends on (SND_SB16 || SND_SBAWE) && (BROKEN || !PPC) 395 depends on (SND_SB16 || SND_SBAWE) && (BROKEN || !PPC)
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
index 32151d8c6bb8..bc7acb489a43 100644
--- a/sound/pci/Kconfig
+++ b/sound/pci/Kconfig
@@ -477,6 +477,12 @@ config SND_EMU10K1
477 To compile this driver as a module, choose M here: the module 477 To compile this driver as a module, choose M here: the module
478 will be called snd-emu10k1. 478 will be called snd-emu10k1.
479 479
480# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
481config SND_EMU10K1_SEQ
482 def_tristate SND_SEQUENCER && SND_EMU10K1
483 select SND_SEQ_MIDI_EMUL
484 select SND_SEQ_VIRMIDI
485
480config SND_EMU10K1X 486config SND_EMU10K1X
481 tristate "Emu10k1X (Dell OEM Version)" 487 tristate "Emu10k1X (Dell OEM Version)"
482 select SND_AC97_CODEC 488 select SND_AC97_CODEC