linux/sound/soc/codecs
Jarkko Nikula 414c73abfd ASoC: tlv320aic3x: Add support to shared common reset line
This is aimed to configurations where multiple aic3x codecs share the same
reset line and are powered from same supply voltages.

Currently aic3x_probe will fail if trying to request already requested
gpio_reset and passing -1 to another aic3x instances cause that those
instances cannot release reset in aic3x_set_power. That is, another
instances can work only if primary aic3x instance is powered and reset is
released.

Solve this by implementing a list of probed instances that is used for
checking if other instance shares the same gpio_reset number. If a shared
reset line exists, then only first instance tries to request and configure
it and the last instance releases it.

Runtime modifications are not needed since aic3x_regulator_event with help
of regulator framework takes already care that reset is pulled down only
when some or all supplies are disabled meaning that all instances using them
are idle.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
2010-11-03 14:18:58 +00:00
..
88pm860x-codec.c ASoC: add 88pm860x codec driver 2010-08-18 18:03:09 +01:00
88pm860x-codec.h ASoC: add 88pm860x codec driver 2010-08-18 18:03:09 +01:00
ac97.c ASoC: ac97: add MODULE_ALIAS for the platform driver 2010-10-13 10:35:30 +01:00
ad193x.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ad193x.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ad1836.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ad1836.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ad1980.c ASoC: Staticise AD1980 DAI 2010-10-07 12:56:43 -07:00
ad1980.h Merge branch 'for-2.6.36' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.37 2010-08-15 14:56:40 +01:00
ad73311.c ASoC: sound/ad73311: add missing __devexit marker 2010-10-27 07:53:17 +02:00
ad73311.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ads117x.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ads117x.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ak4104.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ak4535.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ak4535.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ak4642.c ASoC: ak4642: make sure name of register/value 2010-10-15 11:54:51 +01:00
ak4671.c ASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF 2010-09-15 12:03:34 +01:00
ak4671.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
alc5623.c ASoC: add support for alc562[123] codecs 2010-10-21 13:51:13 -07:00
alc5623.h ASoC: add support for alc562[123] codecs 2010-10-21 13:51:13 -07:00
cq93vc.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
cs42l51.c ASoC: Change my mail address 2010-09-15 12:03:58 +01:00
cs42l51.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
cs4270.c ASoC: Staticise CS4270 DAI 2010-10-07 13:40:44 -07:00
cx20442.c ASoC: Use a more adequate name for the CX20442 codec DAI 2010-08-19 15:30:43 +01:00
cx20442.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
da7210.c ASoC: da7210: code clean up 2010-09-16 14:14:57 +01:00
jz4740.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
Kconfig ASoC: Fix SND_SOC_ALL_CODECS typo for alc5623 2010-11-01 13:58:44 -04:00
l3.c ASoC: UDA134x codec driver 2008-11-17 11:45:39 +00:00
Makefile ASoC: add support for alc562[123] codecs 2010-10-21 13:51:13 -07:00
max9877.c ASoC: MAX9877: fix write operation for register 2009-07-23 11:08:30 +01:00
max9877.h ASoC: MAX9877: add MAX9877 amp driver 2009-07-15 16:59:31 +01:00
max98088.c ASoC: sound/max98088: add missing __devexit marker 2010-10-27 07:53:31 +02:00
max98088.h ASoC: Restore MAX98088 CODEC driver 2010-10-18 16:46:27 -07:00
pcm3008.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
pcm3008.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
spdif_transciever.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
ssm2602.c ASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF 2010-09-15 12:03:34 +01:00
ssm2602.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
stac9766.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
stac9766.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic3x.c ASoC: tlv320aic3x: Add support to shared common reset line 2010-11-03 14:18:58 +00:00
tlv320aic3x.h ASoC: tlv320aic3x: Reimplement output mixers 2010-08-28 10:57:58 +01:00
tlv320aic23.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic23.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic26.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320aic26.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tlv320dac33.c ASoC: tlv320dac33: Use usleep_range for delays 2010-10-23 14:43:08 +01:00
tlv320dac33.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
tpa6130a2.c ASoC: tpa6130a2: Error handling for broken chip 2010-10-21 22:06:53 +01:00
tpa6130a2.h ASoC: TPA6130A2: Make tpa6130a2_power as static 2009-10-12 13:40:54 +01:00
twl4030.c ASoC: TWL4030: Use usleep_range when appropriate 2010-10-26 11:07:28 +01:00
twl6040.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
twl6040.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
uda134x.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
uda134x.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
uda1380.c ASoC: UDA1380: Add delay between power on and reset 2010-09-08 11:27:16 +01:00
uda1380.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wl1273.c ASoC: WL1273 FM Radio: Eliminate unnecessary error return value. 2010-09-11 09:03:21 +01:00
wl1273.h ASoC: TI WL1273 FM Radio Codec. 2010-08-20 13:28:49 +01:00
wm2000.c ASoC: Default WM2000 ANC and speaker to enabled 2010-06-15 15:14:00 +01:00
wm2000.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8350.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8350.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8400.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8400.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8510.c ASoC: Remove unneeded use of spi_bus_type 2010-09-30 13:32:07 -07:00
wm8510.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8523.c ASoC: Remove unneeded control_data management from Wolfson drivers 2010-08-12 14:00:19 +01:00
wm8523.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8580.c ASoC: WM8580: Remove useless assignment 2010-10-19 03:07:10 -07:00
wm8580.h ASoC: Automatically calculate clock ratio for WM8580 2010-08-15 14:52:12 +01:00
wm8711.c ASoC: Remove unneeded use of spi_bus_type 2010-09-30 13:32:07 -07:00
wm8711.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8727.c ASoC: Staticise WM8727 codec driver structure 2010-08-12 16:10:55 +01:00
wm8728.c ASoC: Remove unneeded use of spi_bus_type 2010-09-30 13:32:07 -07:00
wm8728.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8731.c ASoC: Remove unneeded use of spi_bus_type 2010-09-30 13:32:07 -07:00
wm8731.h ASoC: Support non-crystal master clocks for WM8731 2010-08-18 16:52:56 +01:00
wm8741.c ASoC: Fix incorrect register cache size configuration 2010-09-10 22:21:23 +01:00
wm8741.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8750.c ASoC: Remove unneeded use of spi_bus_type 2010-09-30 13:32:07 -07:00
wm8750.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8753.c ASoC: Remove unneeded use of spi_bus_type 2010-09-30 13:32:07 -07:00
wm8753.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8776.c ASoC: Remove unneeded use of spi_bus_type 2010-09-30 13:32:07 -07:00
wm8776.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8804.c ASoC: checking kzalloc() for IS_ERR() instead of NULL 2010-10-11 12:38:21 +01:00
wm8804.h ASoC: WM8804: Initial driver 2010-09-30 13:32:21 -07:00
wm8900.c ASoC: Remove volatility from WM8900 POWER1 register 2010-11-01 09:21:08 -04:00
wm8900.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8903.c ASoC: Remove unneeded control_data management from Wolfson drivers 2010-08-12 14:00:19 +01:00
wm8903.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8904.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8904.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8940.c ASoC: Fix incorrect register cache size configuration 2010-09-10 22:21:23 +01:00
wm8940.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8955.c ASoC: Remove unneeded control_data management from Wolfson drivers 2010-08-12 14:00:19 +01:00
wm8955.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8960.c ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8960.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8961.c ASoC: Fix incorrect register cache size configuration 2010-09-10 22:21:23 +01:00
wm8961.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8962.c ASoC: Add WM8962 microphone bias control 2010-10-13 10:36:57 +01:00
wm8962.h ASoC: Compress WM8962 register access map 2010-10-11 03:52:04 -07:00
wm8971.c ASoC: Remove version display from WM8971 driver 2010-08-12 14:00:19 +01:00
wm8971.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8974.c ASoC: Remove unused WM8974 private data 2010-08-17 12:10:18 +01:00
wm8974.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8978.c ASoC: Fix WM8978/migor driver name conflict 2010-09-20 20:43:12 +01:00
wm8978.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8985.c ASoC: checking kzalloc() for IS_ERR() instead of NULL 2010-10-11 12:38:21 +01:00
wm8985.h ASoC: WM8985: Initial driver 2010-09-15 16:11:24 +01:00
wm8988.c ASoC: Remove unneeded use of spi_bus_type 2010-09-30 13:32:07 -07:00
wm8988.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8990.c ASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF 2010-09-15 12:03:34 +01:00
wm8990.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8993.c ASoC: Store DC offset correction for wm_hubs devices in class W mode 2010-10-28 11:34:03 -07:00
wm8993.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm8994.c ASoC: Store DC offset correction for wm_hubs devices in class W mode 2010-10-28 11:34:03 -07:00
wm8994.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9081.c ASoC: Fix incorrect register cache size configuration 2010-09-10 22:21:23 +01:00
wm9081.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9090.c ASoC: sound/wm9090: add missing __devexit marker 2010-10-27 07:53:43 +02:00
wm9090.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9705.c ASoC: Fix incorrect register cache size configuration 2010-09-10 22:21:23 +01:00
wm9705.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9712.c ASoC: Fix incorrect register cache size configuration 2010-09-10 22:21:23 +01:00
wm9712.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm9713.c ASoC: Fix incorrect register cache size configuration 2010-09-10 22:21:23 +01:00
wm9713.h ASoC: multi-component - ASoC Multi-Component Support 2010-08-12 14:00:00 +01:00
wm_hubs.c Merge branch 'for-2.6.37' into HEAD 2010-11-02 09:58:49 -04:00
wm_hubs.h ASoC: Store DC offset correction for wm_hubs devices in class W mode 2010-10-28 11:34:03 -07:00