linux/sound/isa
Takashi Iwai 111b0cdb97 ALSA: seq: Allow the modular sequencer registration
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>
2017-06-12 08:43:33 +02:00
..
ad1816a ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
ad1848 Annotate hardware config module parameters in sound/isa/ 2017-04-20 12:02:32 +01:00
cs423x ALSA: cs423x: Constify hw_constraints 2017-06-09 10:42:46 +02:00
es1688 ALSA: es1688: Constify hw_constraints 2017-06-09 10:42:47 +02:00
galaxy Annotate hardware config module parameters in sound/isa/ 2017-04-20 12:02:32 +01:00
gus ALSA: gus: Constify hw_constraints 2017-06-09 10:42:47 +02:00
msnd Annotate hardware config module parameters in sound/isa/ 2017-04-20 12:02:32 +01:00
opti9xx Annotate hardware config module parameters in sound/isa/ 2017-04-20 12:02:32 +01:00
sb ALSA: seq: Allow the modular sequencer registration 2017-06-12 08:43:33 +02:00
wavefront Annotate hardware config module parameters in sound/isa/ 2017-04-20 12:02:32 +01:00
wss ALSA: wss: Constify hw_constraints 2017-06-09 10:42:48 +02:00
adlib.c Annotate hardware config module parameters in sound/isa/ 2017-04-20 12:02:32 +01:00
als100.c ASoC: sb16: Simplify snd_sb16dsp_pcm() 2015-01-02 16:28:35 +01:00
azt2320.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
cmi8328.c ALSA: cmi8238: Use IS_ENABLED() 2017-05-17 07:13:05 +02:00
cmi8330.c Annotate hardware config module parameters in sound/isa/ 2017-04-20 12:02:32 +01:00
es18xx.c ALSA: es18xx: Constify hw_constraints 2017-06-09 10:42:47 +02:00
Kconfig ALSA: seq: Allow the modular sequencer registration 2017-06-12 08:43:33 +02:00
Makefile ALSA: introduce snd-cmi8328: C-Media CMI8328 driver 2012-08-21 07:30:46 +02:00
opl3sa2.c Annotate hardware config module parameters in sound/isa/ 2017-04-20 12:02:32 +01:00
sc6000.c Annotate hardware config module parameters in sound/isa/ 2017-04-20 12:02:32 +01:00
sscape.c ALSA: sound/isa: constify snd_kcontrol_new structures 2017-05-21 09:07:56 +02:00