linux/sound/soc/codecs
Mark Brown c986564b31 ASoC: wm8994: Prevent ABBA deadlock with CODEC and accdet mutexes
Currently we can the accdet mutex from within DAPM when updating the device
state which means we take accdet then the CODEC mutex but we also do the
locking the other way around when responding to the jackdet IRQ. Move all
the jackdet use of the CODEC mutex out of the accdet lock to avoid this.
Since all the DAPM interactions depend only on a single threaded IRQ this
is still serialised.

The locking improvements in 3.5 allow a better solution there.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-12 18:12:09 +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: ak4104: Convert to direct regmap API usage 2012-02-23 15:14:18 +00:00
ak4535.c ASoC: ak4535: Convert to direct regmap API usage 2012-02-16 23:04:45 -08:00
ak4535.h ASoC: ak4535: Convert to direct regmap API usage 2012-02-16 23:04:45 -08:00
ak4641.c ASoC: Fix return value of ak4641_pcm_set_dai_fmt() 2012-01-02 13:08:33 +00:00
ak4641.h
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: alc5632: Allow 8kHz stream support. 2012-02-11 23:02:48 +00:00
alc5632.h ASoC: alc5632: Refactored DAPM routes to add voice support 2012-02-11 23:02:47 +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: cs42l73: Fix Output [X|A|V]SP_SCLK Sourcing Mode setting for master mode 2012-02-01 10:42:24 +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: Remove unnecessary -codec from cs4270 driver name 2012-02-28 12:35:20 +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: Remove extra registers from defaults list 2012-03-09 11:50:28 +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 build and use new add control API. 2012-02-06 16:52:16 +00:00
max9850.c ASoC: Convert max9850 to devm_kzalloc() 2012-01-02 12:28:11 +00:00
max9850.h
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
max98095.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
max98095.h
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
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: tlv320aic3x: Remove even more unused code 2012-02-07 11:17:58 +00:00
tlv320aic3x.h ASoC: tlv320aic3x: remove unused code 2012-02-06 16:44:50 +00:00
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
tlv320aic32x4.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tlv320aic32x4.h
tlv320dac33.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tlv320dac33.h
tpa6130a2.c ASoC: core: Add support for DAI and machine kcontrols. 2012-02-04 12:40:11 +00:00
tpa6130a2.h
twl4030.c ASoC: twl4030: Debug code cleanup 2012-02-21 09:58:47 +00:00
twl6040.c This has been a very active release for ASoC, as well as the usual raft 2012-03-05 15:07:33 +01: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: Get correct revision id for wm2200 2012-02-15 18:18:56 -08: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: Implement DRC coefficient configuration 2012-02-21 19:34:50 +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: wm8753: fix initialization 2012-03-04 14:34:44 +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 ASoC: wm8776: Add WM8775 device ID to the WM8776 2012-02-21 09:13:59 +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: Add missing regmap_init_i2c in wm8804_i2c_probe 2012-03-06 12:22:11 +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
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: wm8962: Remove defaults for volatile registers 2012-03-06 00:26:05 +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: Remove unneded -codec from driver name 2012-02-13 11:38:22 -08: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: wm8993: Convert to module_i2c_driver() 2012-02-17 08:15:39 -08:00
wm8993.h ASoC: wm_hubs: Clamp inputs to VMID while we ramp 2012-02-11 23:11:21 +00:00
wm8994.c ASoC: wm8994: Prevent ABBA deadlock with CODEC and accdet mutexes 2012-03-12 18:12:09 +00:00
wm8994.h ASoC: wm8994: Use audio mode for jack detection when system is active 2012-03-06 00:05:24 +00: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: wm8996: Remove separate output stage enable step 2012-03-08 18:24:27 +00:00
wm8996.h ASoC: Disable register synchronisation for low frequency WM8996 SYSCLK 2012-01-20 13:54:34 +00:00
wm9081.c ASoC: wm9081: Use idle_bias_off 2012-02-14 18:13:06 -08:00
wm9081.h
wm9090.c ASoC: Show device id in the debug message 2012-02-15 22:19:55 -08: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: wm_hubs: Disable cache of the DC servo calibration for WM1811 2012-03-04 01:56:47 +00:00
wm_hubs.h ASoC: wm_hubs: Disable cache of the DC servo calibration for WM1811 2012-03-04 01:56:47 +00:00