linux-stable/sound/soc
Mark Brown 888df395eb ASoC: dapm: Implement and instantiate DAI widgets
In order to allow us to do smarter things with DAI links create DAPM
widgets which directly represent the DAIs in the DAPM graph. These are
automatically created from the DAIs as we probe the card with references
held in both directions between the widget and the DAI.

The widgets are not made available for direct instantiation by drivers,
they are created automatically from the DAIs.  Drivers should be updated
to create stream routes using DAPM maps rather than by annotating AIF
and DAC widgets with streams.

In order to ease transition to this model from existing drivers we
automatically create DAPM routes between the DAI widgets and the existing
stream widgets which are started and stopped by the DAI widgets, though
the old stream handling mechanism is still in place.  This also has the
nice effect of removing non-DAPM devices as any device with a DAI
acquires a widget automatically which will allow future simplifications
to the core DAPM logic.

The intention is that in future the AIF and DAI widgets will gain the
ability to interact such that we are able to manage activity on
individual channels independantly rather than powering up and down the
entire AIF as we do currently.

Currently we only generate these for CODECs, mostly as I have no systems
with non-CODEC DAPM to integrate with. It should be a simple matter of
programming to add the additional hookup for these.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17 08:10:10 -08:00
..
atmel ASoC: Convert afeb9260 to table based DAPM init 2012-02-01 21:52:54 +00:00
au1x Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2012-01-14 13:05:21 -08:00
blackfin ASoC: blackfin: Use dai_fmt 2012-02-01 18:29:19 +00:00
codecs ASoC: ak4535: Convert to direct regmap API usage 2012-02-16 23:04:45 -08:00
davinci ASoC: replace 0xffffffff with DMA_BIT_MASK macro 2012-01-20 13:58:26 +00:00
ep93xx ep93xx: Don't use system controller defines in audio drivers 2012-01-20 13:58:27 +00:00
fsl ASoC: replace 0xffffffff with DMA_BIT_MASK macro 2012-01-20 13:58:26 +00:00
imx ASoC: Add external amplifier controls for Visstrim_M10. 2012-01-21 21:15:39 +00:00
jz4740 ASoC: jz4740: Convert qi_lb60 to use snd_soc_register_card() 2012-01-20 13:58:29 +00:00
kirkwood ASoC: Convert kirkwood-openrd to use snd_soc_register_card() 2012-02-07 19:40:53 +00:00
mid-x86 ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
mxs ASoC: mxs-saif: use devm_ functions 2012-02-10 20:21:05 +00:00
nuc900 Merge branch 'master' into fixes 2012-01-13 15:00:22 +00:00
omap ASoC: Fix build error in sound/soc/omap/n810.c 2012-02-10 11:38:00 +00:00
pxa ASoC: Change spitz_ext_control to take dapm as argument. 2012-02-17 08:09:33 -08:00
s6000 ASoC: use proper defines for stream directions in pcm engines 2012-01-20 13:58:25 +00:00
samsung Linux 3.3-rc3 2012-02-09 12:00:22 +00:00
sh ASoC: fsi: add .init/.quit handler support 2012-02-03 11:55:40 +00:00
tegra ASoC: tegra+alc5632: Added digital microphone DAPM widget. 2012-02-13 11:37:35 -08:00
txx9 Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-01-17 18:40:24 -08:00
Kconfig
Makefile
soc-cache.c ASoC: Remove rbtree register cache 2011-12-13 00:20:28 +08:00
soc-core.c ASoC: dapm: Implement and instantiate DAI widgets 2012-02-17 08:10:10 -08:00
soc-dapm.c ASoC: dapm: Implement and instantiate DAI widgets 2012-02-17 08:10:10 -08:00
soc-io.c ASoC: Use regmap update bits operation for drivers using regmap 2012-01-21 21:15:38 +00:00
soc-jack.c ASoC: Remove ifdefs for GPIO_SYSFS 2011-12-21 00:12:28 +00:00
soc-pcm.c ASoC: dapm: Supply the DAI and substream when calling stream events 2012-02-17 08:10:01 -08:00
soc-utils.c ASoC: utils - Add support for a dummy codec driver. 2012-01-20 13:58:27 +00:00