2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 12:43:55 +08:00
linux-next/sound/soc
Stephen Warren 85762e71f1 ASoC: dapm: Implement mixer control sharing
This is the equivalent of commit af46800 "ASoC: Implement mux control
sharing", but applied to mixers instead of muxes.

This allows a single control to affect multiple mixer widgets at once,
which is useful when there is a single set of register bits that affects
multiple mixers in HW, for example both the L and R mixers of a stereo
path.

Without this, you either:

1) End up with multiple controls that affect the same register bits, but
whose DAPM state falls out of sync with HW, since the DAPM state is only
updated for the specific control that is modified, and not for other
paths that are affected by the register bit(s).

2) False paths through DAPM, since you end up merging unconnected stereo
paths together into a single widget which hosts the single control, and
then branching back out again, thus conjoining the enable states of the
two input paths.

Now that the kcontrol creation logic is split out into a separate
function, dapm_create_or_share_mixmux_kcontrol(), also use that to
replace most of the body of dapm_new_mux(). This should produce no
functional change, but simply eliminates some mostly duplicated code.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-03-31 13:28:40 +01:00
..
atmel ASoC: sam9g20_wm8731: disable clock and correct sequence when unload 2013-02-04 18:34:14 +00:00
au1x ASoC: au1x: remove __dev* attributes 2012-12-10 00:31:06 +09:00
blackfin ASoC: blackfin: remove __dev* attributes 2012-12-10 00:29:39 +09:00
cirrus ASoC: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
codecs Merge remote-tracking branch 'asoc/fix/wm8960' into tmp 2013-03-07 14:29:43 +08:00
davinci Merge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-next 2013-02-11 11:06:46 +00:00
dwc ASoC: dwc: fix support for more than two channels 2013-01-26 15:37:09 +08:00
fsl Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-02-23 17:09:55 -08:00
generic ASoC: simple-card: add asoc_simple_dai for initializing 2013-01-14 06:55:43 +09:00
jz4740 ASoC: jz4740: remove __dev* attributes 2012-12-10 00:31:12 +09:00
kirkwood ASoC: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
mid-x86 ASoC: mid-x86: remove __dev* attributes 2012-12-10 00:31:14 +09:00
mxs Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
nuc900 ASoC: nuc900: remove __dev* attributes 2012-12-10 00:31:28 +09:00
omap Merge remote-tracking branch 'asoc/topic/omap' into asoc-next 2013-02-12 22:19:04 +00:00
pxa Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
s6000 ASoC: s6000: remove __dev* attributes 2012-12-10 00:31:34 +09:00
samsung arm-soc: cleanups 2013-02-21 14:58:40 -08:00
sh ASoC: fsi: Remove __devinitconst 2013-01-16 20:28:59 +09:00
spear ASoC: spear: remove __dev* attributes 2012-12-10 00:31:38 +09:00
tegra ASoC: tegra: fix I2S bit count mask 2013-03-05 10:42:11 +08:00
txx9 ASoC: txx9: remove __dev* attributes 2012-12-10 00:31:43 +09:00
ux500 ASoC: Ux500: Fix build error pertaining to missing include file 2013-01-31 20:37:05 +08:00
Kconfig ASoC: Rename ep93xx soc directory to cirrus 2012-08-28 10:24:21 -07:00
Makefile ASoC: dmaengine: Correct Makefile when sound is built as module 2012-10-09 15:57:33 +09:00
soc-cache.c ASoC: cache: Standardise ASoC cache messages 2012-11-21 11:39:51 +09:00
soc-compress.c ASoC: core: Allow digital mute for capture 2013-02-08 11:08:44 +00:00
soc-core.c The sweeping change is to make add_taint() explicitly indicate whether to disable 2013-02-25 15:41:43 -08:00
soc-dapm.c ASoC: dapm: Implement mixer control sharing 2013-03-31 13:28:40 +01:00
soc-dmaengine-pcm.c ASoC: dmaengine_pcm: set MODULE_LICENSE 2012-11-23 23:42:54 +09:00
soc-io.c ASoC: io: Don't dereference regmap if we failed to get one 2012-06-23 12:11:32 +01:00
soc-jack.c Merge remote-tracking branch 'asoc/topic/log' into asoc-next 2012-12-10 00:22:14 +09:00
soc-pcm.c Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2013-02-11 11:06:30 +00:00
soc-utils.c ASoC: utils: remove __dev* attributes 2012-12-10 00:31:48 +09:00