linux_dsm_epyc7002/sound
Lars-Peter Clausen 970939964c ASoC: Allow to register jacks at the card level
Jacks are typically card level elements, but are currently registered with a
CODEC. When it was originally introduced snd_soc_jack_new() took a
snd_soc_card as its parameter, but at that time DAPM was only implemented at
the CODEC level and there was only one CODEC per card. This made it clear
which CODEC to use for the jack DAPM operations. But the multi-component
patchset added support for having multiple CODECs per card and with it the
API was updated to register jacks with a specific CODEC instance instead.
Subsequently DAPM support at the card level has been introduced, but the
snd_soc_jack_new() API has so remained unchanged.

This leaves us with the issue that the DAPM pins that are managed by the
jack detection logic usually are part of the card DAPM context but are
accessed through a CODEC DAPM context. Currently this works fine, but might
break in the future if we take a more hierarchical approach to DAPM
contexts.

Furthermore with componentization progressing systems that do not register
a snd_soc_codec might appear, while these system may still want to able to
register a jack.

This patch addresses these issues by adding a new function called
snd_soc_card_jack_new() that can be used to register jacks with the card
rather than a CODEC.

This new function is mostly identical to snd_soc_jack_new() except that it
additionally allows to directly specify the DAPM pins associated with the
jack. This was done since most users of snd_soc_jack_new() typically call
snd_soc_jack_add_pins() right after it, which is not necessary with the new
API and allows to reduce the amount of boiler plate code.

The old snd_soc_jack_new() is re-implemented as a wrapper around
snd_soc_card_jack_new().

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2015-03-04 17:09:51 +00:00
..
aoa Merge branch 'topic/snd-device' into for-next 2015-02-03 17:57:16 +01:00
arm ALSA: Deletion of checks before the function call "iounmap" 2015-01-04 15:13:45 +01:00
atmel ALSA: sound/atmel/ac97c.c: Add device tree support 2015-01-07 07:56:19 +01:00
core ALSA: seq: potential out of bounds in do_control() 2015-02-12 11:07:48 +01:00
drivers ALSA: Include linux/uaccess.h and linux/bitopts.h instead of asm/* 2015-01-28 17:25:07 +01:00
firewire ALSA: firewire-lib: limit the MIDI data rate 2015-01-16 22:51:23 +01:00
i2c Merge branch 'topic/ak411x-fix' into for-next 2015-01-28 22:32:10 +01:00
isa ALSA: Include linux/uaccess.h and linux/bitopts.h instead of asm/* 2015-01-28 17:25:07 +01:00
mips Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
oss sound updates for 3.20-rc1 2015-02-11 08:51:59 -08:00
parisc ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
pci ALSA: hda/tegra check correct return value from ioremap_resource 2015-02-14 08:57:15 +01:00
pcmcia
ppc ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
sh ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
soc ASoC: Allow to register jacks at the card level 2015-03-04 17:09:51 +00:00
sparc ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
spi
synth ALSA: Include linux/uaccess.h and linux/bitopts.h instead of asm/* 2015-01-28 17:25:07 +01:00
usb ALSA: usb: Fix support for Denon DA-300USB DAC (ID 154e:1003) 2015-02-17 22:14:18 +01:00
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c
sound_firmware.c