ALSA: jack: Allow building the jack layer without input device
authorTakashi Iwai <tiwai@suse.de>
Wed, 17 Feb 2016 08:44:25 +0000 (09:44 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 23 Feb 2016 08:03:07 +0000 (09:03 +0100)
commitfe0d128c57bf927a713159f60a18d9f315d4d91d
treee45587f9521ad620056a59e7073307ccb16c39f1
parent94a573500d48e780e5b23d307d6e6b05e6af7d2a
ALSA: jack: Allow building the jack layer without input device

Since the recent integration of kctl jack and input jack layers, we
can basically build the jack layer even without input devices.  That
is, the jack layer itself can be built with conditional to enable the
input device support or not, while the users may enable always
CONFIG_SND_JACK unconditionally.

For achieving it, this patch changes the following:
- A new Kconfig, CONFIG_SND_JACK_INPUT_DEV, was introduced to indicate
  whether the jack layer supports the input device,
- A few items in snd_jack struct and relevant codes are conditionally
  built upon CONFIG_SND_JACK_INPUT_DEV,
- The users of CONFIG_SND_JACK drop the messy dependency on
  CONFIG_INPUT.

This change also automagically fixes a potential bug in HD-audio
driver Arnd reported, where the NULL or uninitialized jack instance is
dereferenced.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/jack.h
sound/core/Kconfig
sound/core/jack.c
sound/pci/Kconfig
sound/pci/hda/Kconfig
sound/soc/Kconfig