linux/sound
Stephen Warren 29591ed4ac ASoC: Tegra: wm8903 machine driver: Allow re-insertion of module
Two issues were preventing module snd-soc-tegra-wm8903.ko from being
removed and re-inserted:

a) The speaker-enable GPIO is hosted by the WM8903 chip. This GPIO must
   be freed before snd_soc_unregister_card() is called, because that
   triggers wm8903.c:wm8903_remove(), which calls gpiochip_remove(), which
   then fails if any of the GPIOs are in use. To solve this, free all GPIOs
   first, so the code doesn't care where they come from.

b) We need to call snd_soc_jack_free_gpios() to match the call to
   snd_soc_jack_add_gpios() during initialization. Without this, the
   call to snd_soc_jack_add_gpios() fails during any subsequent modprobe
   and initialization, since the GPIO and IRQ are already registered. In
   turn, this causes the headphone state not to be monitored, so the
   headphone is assumed not to be plugged in, and the audio path to it is
   never enabled.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Cc: stable@kernel.org
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-08-09 09:42:11 +09:00
..
aoa treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
arm Merge branch 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into for-2.6.39 2011-04-03 19:28:29 +09:00
atmel Merge branch 'master' into for-next 2011-07-11 14:15:55 +02:00
core Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2011-08-02 20:48:22 -10:00
drivers i8253: Make pcsp sound driver use the shared i8253_lock 2011-06-09 15:01:39 +02:00
firewire Merge branch 'fix/hda' into topic/misc 2011-06-17 14:54:47 +02:00
i2c [media] tea575x: remove useless input ioctls 2011-07-27 17:53:08 -03:00
isa snd_msnd ->mode is fmode_t, not mode_t 2011-07-26 12:59:29 -04:00
mips sound: Add missing spin_unlock 2010-05-27 09:47:02 +02:00
oss sound: oss: rename local change_bits to avoid powerpc bitsops.h definition 2011-07-27 19:16:05 +02:00
parisc
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2011-08-02 20:48:22 -10:00
pcmcia ALSA: pcmcia - Use pcmcia_request_irq() 2011-07-08 10:11:35 +02:00
ppc treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
sh sound: sh: ctrl_in/outX to __raw_read/writeX conversion. 2010-10-27 15:53:50 +09:00
soc ASoC: Tegra: wm8903 machine driver: Allow re-insertion of module 2011-08-09 09:42:11 +09:00
sparc atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
spi ALSA: atmel - update author email for ABDAC, AC97C and AT73C213 2011-06-28 16:56:07 +02:00
synth ALSA: emux: Add trivial compat ioctl handler 2010-09-14 16:18:11 +02:00
usb ALSA: usb-audio - Add quirk for Roland / BOSS BR-800 2011-07-21 19:00:57 +02:00
ac97_bus.c sound: Fixed line limit issue in sound/ac97_bus.c 2010-12-06 16:09:49 +01:00
Kconfig ALSA: add LaCie FireWire Speakers/Griffin FireWave Surround driver 2011-03-15 08:42:22 +01:00
last.c
Makefile ALSA: add LaCie FireWire Speakers/Griffin FireWave Surround driver 2011-03-15 08:42:22 +01:00
sound_core.c sound: Use sound_register_*() for additional OSS minor devices 2011-03-09 20:10:37 +01:00
sound_firmware.c sound: read i_size with i_size_read() 2011-03-18 15:14:57 +01:00