linux/sound/soc/codecs
Liam Girdwood 022658beab ASoC: core: Add support for DAI and machine kcontrols.
Currently ASoC can only add kcontrols using codec and platform component device
handles. It's also desirable to add kcontrols for DAIs (i.e. McBSP) and for
SoC card machine drivers too. This allows the kcontrol to have a direct handle to
the parent ASoC component DAI/SoC Card/Platform/Codec device and hence easily
get it's private data.

This change makes snd_soc_add_controls() static and wraps it in the folowing
calls (card and dai are new) :-

snd_soc_add_card_controls()
snd_soc_add_codec_controls()
snd_soc_add_dai_controls()
snd_soc_add_platform_controls()

This patch also does a lot of small mechanical changes in individual codec drivers
to replace snd_soc_add_controls() with snd_soc_add_codec_controls().

It also updates the McBSP DAI driver to use snd_soc_add_dai_controls().

Finally, it updates the existing machine drivers that register controls to either :-

1) Use snd_soc_add_card_controls() where no direct codec control is required.
2) Use snd_soc_add_codec_controls() where there is direct codec control.

In the case of 1) above we also update the machine drivers to get the correct
component data pointers from the kcontrol (rather than getting the machine pointer
via the codec pointer).

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-04 12:40:11 +00:00
..
88pm860x-codec.c ASoC: Convert 88pm860x-codec to devm_kzalloc() 2011-12-27 12:58:02 +00:00
88pm860x-codec.h
ac97.c ASoC: Drop unused state parameter from CODEC suspend callback 2011-12-02 10:32:03 +00:00
ad193x.c ASoC: Convert ad193x to devm_kzalloc() 2011-12-28 17:22:40 +00:00
ad193x.h ASoC: ad193x: Use snd_soc_update_bits where appropriate 2011-11-28 18:57:52 +00:00
ad1836.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
ad1836.h ASoC: Fix wrong define for AD1836_ADC_WORD_OFFSET 2011-11-22 13:06:14 +00:00
ad1980.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
ad1980.h
ad73311.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
ad73311.h
adau1373.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
adau1373.h ASoC: Add ADAU1373 codec support 2011-08-17 00:53:54 +09:00
adau1701.c ASoC: Set idle_bias_off flag in snd_soc_codec_driver 2012-01-27 11:22:05 +00:00
adau1701.h ASoC: Add ADAU1701 codec driver 2011-06-16 11:24:17 +01:00
adav80x.c ASoC: Drop unused state parameter from CODEC suspend callback 2011-12-02 10:32:03 +00:00
adav80x.h ASoC: Add ADAV80x codec driver 2011-06-28 17:11:20 +01:00
ads117x.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
ak4104.c ASoC: Convert ak4104 to devm_kzalloc() 2011-12-20 10:13:57 +00:00
ak4535.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
ak4535.h
ak4641.c ASoC: Fix return value of ak4641_pcm_set_dai_fmt() 2012-01-02 13:08:33 +00:00
ak4641.h ASoC: Asahi Kasei AK4641 codec driver 2011-05-19 14:10:45 -07:00
ak4642.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
ak4671.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
ak4671.h
alc5623.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
alc5623.h
alc5632.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
alc5632.h ASoC: Convert ALC5632 codec to use regmap API 2011-11-16 10:41:56 +00:00
cq93vc.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
cs42l51.c ASoC: Convert cs42l51 to devm_kzalloc() 2012-01-02 12:28:11 +00:00
cs42l51.h
cs42l73.c ASoC: Drop unused state parameter from CODEC suspend callback 2011-12-02 10:32:03 +00:00
cs42l73.h ASoC: cs42l73: Unify the way to define bits of register 2011-11-22 13:02:09 +00:00
cs4270.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
cs4271.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
cx20442.c ASoC: cx20442: add bias control over a platform provided regulator 2012-01-09 11:20:16 +00:00
cx20442.h
da7210.c ASoC: da7210: Add support for line input and mic 2012-01-02 12:27:29 +00:00
dfbmcs320.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
dmic.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
jz4740.c ASoC: Convert jz4740 to devm_kzalloc() 2011-12-28 17:22:41 +00:00
Kconfig ASoC: max9768: add driver for max9768 amplifier 2012-01-30 21:50:55 +00:00
l3.c
lm4857.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
Makefile ASoC: max9768: add driver for max9768 amplifier 2012-01-30 21:50:55 +00:00
max9768.c ASoC: max9768: Fix up review comments in max9768 driver 2012-01-31 11:15:46 +00:00
max9850.c ASoC: Convert max9850 to devm_kzalloc() 2012-01-02 12:28:11 +00:00
max9850.h ASoC: Add MAX9850 codec driver 2011-03-11 12:01:44 +00:00
max9877.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
max9877.h
max98088.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
max98088.h ASoC: codecs: max98088: Added digital mute function in DAI1 and DAI2 2011-05-15 21:26:36 -07:00
max98095.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
max98095.h ASoC: Add EQ and filter to max98095 CODEC driver 2011-04-20 13:50:41 +01:00
pcm3008.c ASoC: Drop unused state parameter from CODEC suspend callback 2011-12-02 10:32:03 +00:00
pcm3008.h
rt5631.c ASoC: Convert rt5631 to devm_kzalloc() 2012-01-02 12:28:12 +00:00
rt5631.h ASoC: Add driver for rt5631 2011-09-21 15:52:23 +01:00
sgtl5000.c ASoC: sgtl5000: It's sgtl5000 not sgtl500 2012-01-23 10:16:31 +00:00
sgtl5000.h ASoC: sgtl5000: Fix define for SGTL5000_BIAS_R_MASK 2011-10-19 13:08:18 +01:00
sigmadsp.c ASoC: SigmaDSP: Add regmap support 2011-11-29 12:01:23 +00:00
sigmadsp.h ASoC: SigmaDSP: Add regmap support 2011-11-29 12:01:23 +00:00
sn95031.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
sn95031.h ASoC: sn95031: Add support for reading mic bias 2011-02-09 22:32:53 +00:00
spdif_transciever.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
ssm2602.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
ssm2602.h ASoC: ssm2602: Support setting the oscillator and the clock output state 2011-09-27 13:30:48 +01:00
sta32x.c ASoC: sta32x: Optimize the array work to find rate_min and rate_max 2012-01-03 21:18:32 +00:00
sta32x.h ASoC: sta32x: preserve coefficient RAM 2011-11-14 21:32:12 +00:00
stac9766.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
stac9766.h
tlv320aic3x.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tlv320aic3x.h
tlv320aic23.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tlv320aic23.h
tlv320aic26.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tlv320aic26.h Fix common misspellings 2011-03-31 11:26:23 -03:00
tlv320aic32x4.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tlv320aic32x4.h ASoC: Add TI tlv320aic32x4 codec support. 2011-03-04 18:21:08 +00:00
tlv320dac33.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tlv320dac33.h ASoC: tlv320dac33: Update e-mail address 2011-05-11 16:12:35 +01:00
tpa6130a2.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tpa6130a2.h ASoC: tpa6130a2: Update e-mail address 2011-05-11 16:12:45 +01:00
twl4030.c ASoC: Set idle_bias_off flag in snd_soc_codec_driver 2012-01-27 11:22:05 +00:00
twl6040.c ASoC: twl6040 - add method to query HS DC offset step size in mV 2012-01-20 13:58:26 +00:00
twl6040.h ASoC: twl6040 - add method to query HS DC offset step size in mV 2012-01-20 13:58:26 +00:00
uda134x.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
uda134x.h
uda1380.c ASoC: Convert uda1380 to devm_kzalloc() 2011-12-27 12:58:02 +00:00
uda1380.h
wl1273.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wl1273.h
wm1250-ev1.c ASoC: Convert wm1250-ev1 driver to use devm_kzalloc() 2011-11-27 16:03:59 +00:00
wm2000.c ASoC: wm2000: Fix use-after-free - don't release_firmware() twice on error 2012-01-24 11:34:19 +00:00
wm2000.h ASoC: Convert WM2000 into a standard CODEC driver 2011-12-03 21:35:21 +00:00
wm2200.c ASoC: wm2200: Remove trailing whitespace 2012-01-29 21:45:31 +00:00
wm2200.h ASoC: wm2200: Add WM2200 CODEC driver 2012-01-26 16:07:55 +00:00
wm5100-tables.c ASoC: Remove WM5100 DSP memory windows from register default data 2011-11-21 18:11:43 +00:00
wm5100.c ASoC: wm5100: Handle failures to determine accessory polarity 2012-02-01 10:31:12 +00:00
wm5100.h ASoC: Convert wm5100 to direct regmap API usage 2011-11-08 14:13:50 +00:00
wm8350.c ASoC: Convert WM8350 to table based DAPM and control init 2011-12-03 21:35:10 +00:00
wm8350.h
wm8400.c ASoC: Convert WM8400 to table based DAPM and control init 2011-12-03 21:35:11 +00:00
wm8400.h
wm8510.c ASoC: Convert WM8510 to table based DAPM and control init 2011-12-03 21:35:12 +00:00
wm8510.h
wm8523.c ASoC: Drop unused state parameter from CODEC suspend callback 2011-12-02 10:32:03 +00:00
wm8523.h
wm8580.c ASoC: Fix return value of wm8580_set_sysclk() 2012-01-02 13:08:40 +00:00
wm8580.h
wm8711.c ASoC: Convert WM8711 to table based control init 2011-12-03 21:35:17 +00:00
wm8711.h
wm8727.c ASoC: Remove unused -codec from Wolfson device driver names 2011-12-03 21:35:01 +00:00
wm8728.c ASoC: Convert WM8728 to table based control init 2011-12-03 21:35:18 +00:00
wm8728.h
wm8731.c ASoC: Convert WM8731 to direct regmap API usage 2012-01-24 11:43:18 +00:00
wm8731.h
wm8737.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8737.h
wm8741.c ASoC: Convert WM8741 to table based DAPM and control init 2011-12-03 21:35:14 +00:00
wm8741.h
wm8750.c ASoC: Convert WM8750 to table based DAPM and control init 2011-12-03 21:35:16 +00:00
wm8750.h
wm8753.c ASoC: Convert WM8753 to direct regmap API usage 2012-01-20 13:58:20 +00:00
wm8753.h
wm8770.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8770.h
wm8776.c Merge branch 'for-3.2' into for-3.3 2011-12-23 18:08:02 +00:00
wm8776.h
wm8782.c ASoC: Convert CODEC drivers to module_platform_driver 2011-11-28 11:33:29 +00:00
wm8804.c ASoC: Set idle_bias_off flag in snd_soc_codec_driver 2012-01-27 11:22:05 +00:00
wm8804.h
wm8900.c ASoC: Convert WM8900 to table based DAPM and control init 2011-12-09 20:28:18 +08:00
wm8900.h
wm8903.c ASoC: Fix return value of wm8903_gpio_direction_in() and wm8903_gpio_direction_out() 2012-01-02 13:08:39 +00:00
wm8903.h Merge branch 'for-2.6.38' into for-2.6.39 2011-02-22 10:38:13 -08:00
wm8904.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8904.h ASoC: Optimise performance of WM8904 ADC 128fs OSR mode 2012-01-20 13:58:26 +00:00
wm8940.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8940.h
wm8955.c ASoC: Convert WM8955 to table based DAPM and control init 2012-01-20 13:58:25 +00:00
wm8955.h
wm8958-dsp2.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8960.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8960.h
wm8961.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8961.h
wm8962.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8962.h
wm8971.c ASoC: Convert wm8971 to devm_kzalloc() 2012-01-20 13:58:21 +00:00
wm8971.h
wm8974.c ASoC: Remove wm8974 private data 2012-01-20 13:58:22 +00:00
wm8974.h
wm8978.c ASoC: Push wm8978 reset down into the I2C probe 2012-01-20 13:58:19 +00:00
wm8978.h ASoC: Convert wm8978 to direct regmap API usage 2012-01-20 13:58:19 +00:00
wm8983.c ASoC: wm8983: Remove useless snd_kcontrol 2012-01-20 13:58:29 +00:00
wm8983.h ASoC: WM8983: Initial driver 2011-07-15 23:39:53 +09:00
wm8985.c ASoC: wm8985: Convert to direct regmap API usage 2012-01-21 21:15:42 +00:00
wm8985.h
wm8988.c ASoC: wm8988: Convert to devm_kzalloc() 2012-01-21 23:28:22 +00:00
wm8988.h
wm8990.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8990.h
wm8991.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8991.h
wm8993.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8993.h
wm8994.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8994.h ASoC: Remove WM8994 register cache 2011-12-13 00:20:11 +08:00
wm8995.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8995.h
wm8996.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm8996.h ASoC: Disable register synchronisation for low frequency WM8996 SYSCLK 2012-01-20 13:54:34 +00:00
wm9081.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm9081.h
wm9090.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm9090.h
wm9705.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm9705.h
wm9712.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm9712.h
wm9713.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm9713.h
wm_hubs.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
wm_hubs.h ASoC: Support separate left and right channel dcs_codes values 2011-08-01 22:14:49 +09:00