linux/include/sound
Stephen Warren a0f203d384 ASoC: WM8903: Fix platform data gpio_cfg confusion
wm8903_platform_data.gpio_cfg[] was intended to be interpreted as follows:
0:       Don't touch this GPIO's configuration register
1..7fff: Write that value to the GPIO's configuration register
8000:    Write zero to the GPIO's configuration register
other:   Undefined (invalid)

The rationale is that platform data is usually global data, and a value of
zero means that the field wasn't explicitly set to anything (e.g. because
the field was new to the pdata type, and existing users weren't update to
initialize it) and hence the value zero should be ignored. 0x8000 is an
explicit way to get 0 in the register.

The code worked this way until commit 7cfe561 "ASoC: wm8903: Expose GPIOs
through gpiolib", where the behaviour was changed due to my lack of
awareness of the above rationale.

This patch reverts to the intended behaviour, and updates all in-tree users
to use the correct scheme. This also makes WM8903 consistent with other
devices that use a similar scheme.

WM8903_GPIO_NO_CONFIG is also renamed to WM8903_GPIO_CONFIG_ZERO so that
its name accurately reflects its purpose.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Colin Cross <ccross@android.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-12-06 10:29:22 +00:00
..
ac97_codec.h Fix common misspellings 2011-03-31 11:26:23 -03:00
aci.h ALSA: opti-miro: expose ACI mixer to outside drivers 2009-11-23 09:41:55 +01:00
ad1816a.h ALSA: ad1816a: enable hardware timer 2009-01-21 15:12:40 +01:00
ad1843.h ALSA: ALSA driver for SGI O2 audio board 2008-07-14 09:01:02 +02:00
adau1373.h ASoC: Add ADAU1373 codec support 2011-08-17 00:53:54 +09:00
ak4xxx-adda.h ALSA: ak4620 support, codec regs listed in proc 2009-09-21 15:44:51 +02:00
ak4113.h ALSA: i2c: cleanup: change parameter to pointer 2010-04-04 12:21:39 +02:00
ak4114.h ALSA: ak4114 - fix errors in output selector bits 2009-09-21 15:44:39 +02:00
ak4117.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
ak4531_codec.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
ak4641.h ASoC: Asahi Kasei AK4641 codec driver 2011-05-19 14:10:45 -07:00
alc5623.h ASoC: add support for alc562[123] codecs 2010-10-21 13:51:13 -07:00
asequencer.h [ALSA] Remove sequencer instrument layer 2008-01-31 17:29:13 +01:00
asound_fm.h [ALSA] opl3 - Use hwdep for patch loading 2008-01-31 17:29:13 +01:00
asound.h ALSA: control: add support for ENUMERATED user space controls 2011-10-09 09:09:11 +02:00
asoundef.h ALSA: IEC958 definition for consumer status channel update 2008-08-01 13:13:13 +02:00
atmel-abdac.h ALSA: Add ALSA driver for Atmel Audio Bitstream DAC 2009-02-05 15:08:48 +01:00
atmel-ac97c.h ALSA: Add ALSA driver for Atmel AC97 controller 2009-02-05 15:08:51 +01:00
control.h Merge branch 'topic/misc' into for-linus 2011-05-22 10:01:29 +02:00
core.h Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
cs46xx_dsp_scb_types.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
cs46xx_dsp_spos.h Fix common misspellings 2011-03-31 11:26:23 -03:00
cs46xx_dsp_task_types.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
cs46xx.h [ALSA] sound: remove dead config symbol from sound code 2008-01-31 17:29:21 +01:00
cs4231-regs.h ALSA: cs4236: update control names 2009-11-18 07:23:16 +01:00
cs4271.h ASoC: CS4271: Move Chip Select control out of the CODEC code. 2011-02-08 11:26:14 +00:00
cs8403.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
cs8427.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
emu10k1_synth.h
emu10k1.h ALSA: emu10k1: Fix warning: "CCR" redefined 2010-10-18 07:45:44 +02:00
emu8000_reg.h
emu8000.h
emux_legacy.h
emux_synth.h
es1688.h ALSA: Merge es1688 and es968 drivers 2010-05-10 09:49:30 +02:00
gus.h [ALSA] Remove sequencer instrument layer 2008-01-31 17:29:13 +01:00
hda_hwdep.h [ALSA] hda-intel - Add hwdep interface 2007-10-16 15:58:10 +02:00
hdsp.h ALSA: hdsp - Add support for RPM io box 2010-12-01 12:14:47 +01:00
hdspm.h Fix common misspellings 2011-03-31 11:26:23 -03:00
hwdep.h ALSA: hwdep - Fix coding style 2009-02-05 09:17:50 +01:00
i2c.h
info.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
initval.h sound: irq: Remove IRQF_DISABLED 2011-09-22 11:19:20 +02:00
jack.h ALSA: jack - Add "Line In" input jack constants 2011-10-05 17:22:04 +02:00
Kbuild include: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
l3.h ASoC: UDA134x codec driver 2008-11-17 11:45:39 +00:00
max98088.h ASoC: Restore MAX98088 CODEC driver 2010-10-18 16:46:27 -07:00
max98095.h ASoC: Add EQ and filter to max98095 CODEC driver 2011-04-20 13:50:41 +01:00
memalloc.h ALSA: Fix SG-buffer DMA with non-coherent architectures 2009-07-08 14:20:20 +02:00
minors.h ALSA: support module on-demand loading for seq and timer 2010-11-24 05:53:25 +01:00
mixer_oss.h ALSA: core: sparse cleanups 2011-02-14 17:10:11 +01:00
mpu401.h ALSA: mpu401: clean up interrupt specification 2011-09-14 11:00:51 +02:00
opl3.h [ALSA] opl3 - Fix compilation without sequencer support 2008-02-22 14:20:08 -08:00
opl4.h
pcm_oss.h ALSA: pcm_lib - cleanup & merge hw_ptr update functions 2010-01-07 15:47:38 +01:00
pcm_params.h ALSA: Make pcm.h self-contained 2011-07-26 17:21:24 +02:00
pcm-indirect.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
pcm.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2011-10-28 14:25:01 -07:00
pt2258.h
pxa2xx-lib.h [ARM] pxa: merge AC97 platform data structures 2009-04-15 10:54:06 +08:00
rawmidi.h ALSA: rawmidi - Use workq for event handling 2011-06-14 14:37:06 +02:00
s3c24xx_uda134x.h ASoC: Machine driver for for s3c24xx with uda134x 2008-11-17 11:45:53 +00:00
saif.h ASoC: mxs-saif: add record function 2011-09-19 18:31:59 +01:00
sb16_csp.h ALSA: sb16 - Fix build errors on MIPS and others with 13bit ioctl size 2011-06-30 15:33:57 +02:00
sb.h ALSA: jazz16: Add support for Media Vision Jazz16 chipset 2009-12-21 12:09:22 +01:00
seq_device.h
seq_kernel.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
seq_midi_emul.h
seq_midi_event.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
seq_oss_legacy.h
seq_oss.h
seq_virmidi.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
sfnt_info.h ALSA: Use define for ioctl definitions 2009-03-11 09:55:03 +01:00
sh_dac_audio.h ALSA: sh: add SuperH DAC audio driver for ALSA V4 2009-11-04 09:17:40 +01:00
sh_fsi.h ASoC: fsi-ak4642: modify specification method of FSI / ak464x 2011-11-24 10:31:26 +00:00
snd_wavefront.h ALSA: wss_lib: rename cs4231.h into wss.h 2008-08-06 15:39:47 +02:00
soc-dai.h ASoC: Allow DAI formats to be specified in the dai_link 2011-09-28 13:22:28 +01:00
soc-dapm.h ASoC: Add signal generator widget type 2011-12-02 10:26:07 +00:00
soc.h ASoC: Drop unused state parameter from CODEC suspend callback 2011-12-02 10:32:03 +00:00
soundfont.h treewide: fix potentially dangerous trailing ';' in #defined values/expressions 2011-07-21 14:10:00 +02:00
sta32x.h ASoC: sta32x: add workaround for ESD reset issue 2011-11-14 21:36:43 +00:00
tea575x-tuner.h [media] tea575x: allow multiple opens 2011-07-27 17:53:07 -03:00
tea6330t.h
timer.h [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
tlv320aic3x.h ASoC: omap: Update e-mail address of Jarkko Nikula 2011-08-12 11:45:10 +09:00
tlv320aic32x4.h ASoC: Add TI tlv320aic32x4 codec support. 2011-03-04 18:21:08 +00:00
tlv320dac33-plat.h ASoC: tlv320dac33: Update e-mail address 2011-05-11 16:12:35 +01:00
tlv.h ALSA: tlv - Define numbers in sound/tlv.h 2010-10-17 10:46:14 +02:00
tpa6130a2-plat.h ASoC: tpa6130a2: Remove model_id from platform data 2011-09-21 16:07:45 +01:00
trident.h [ALSA] Remove sequencer instrument layer 2008-01-31 17:29:13 +01:00
uda134x.h ASoC: uda134x: replace a macro with a value in platform struct. 2010-06-25 12:29:01 +01:00
uda1380.h ASoC: UDA1380: refactor device registration 2009-06-15 21:54:48 +01:00
util_mem.h
version.h ALSA: Release v1.0.24 2011-01-27 13:10:36 +01:00
vx_core.h ALSA: Kill snd_assert() in other places 2008-08-13 11:46:40 +02:00
wavefront.h
wm1250-ev1.h ASoC: Add platform data for WM1250 EV1 GPIOs 2011-09-23 17:05:38 +01:00
wm2000.h ASoC: Add WM2000 driver 2010-02-12 10:31:06 +00:00
wm5100.h ASoC: Add WM5100 driver 2011-09-20 16:02:16 +01:00
wm8903.h ASoC: WM8903: Fix platform data gpio_cfg confusion 2011-12-06 10:29:22 +00:00
wm8904.h ASoC: Support GPIO based microphone detection for WM8904 2010-03-16 16:03:30 +00:00
wm8955.h ASoC: Add initial WM8955 CODEC driver 2009-12-18 13:06:47 +00:00
wm8960.h ASoC: Add support for WM8960 capless mode 2010-03-03 17:08:43 +00:00
wm8962.h ASoC: Define constants for WM8962 GPIO functions 2011-04-26 11:49:02 +01:00
wm8993.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
wm8996.h ASoC: Rename WM8915 to WM8996 2011-08-08 14:30:37 +09:00
wm9081.h ASoC: Add platform data for WM9081 IRQ pin configuration 2011-03-01 23:30:53 +00:00
wm9090.h ASoC: Add WM9090 amplifier driver 2010-04-30 16:12:44 +01:00
wss.h ALSA: cs4236: detect chip in one pass 2009-11-05 18:10:25 +01:00
ymfpci.h sound: ymfpci: increase timer resolution to 96 kHz 2009-08-10 13:14:46 +02:00