All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/6] ASoC: WM8903: Disallow all invalid gpio_cfg pdata values
@ 2011-12-01 20:49 Stephen Warren
       [not found] ` <1322772564-27343-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Warren @ 2011-12-01 20:49 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood
  Cc: Rob Herring, John Bonesio, alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Stephen Warren

The GPIO registers are 15 bits wide. Hence values, higher than 0x7fff are
not legal GPIO register values. Modify the pdata.gpio_cfg handling code
to reject all illegal values, not just WM8903_GPIO_NO_CONFIG (0x8000). This
will allow the later use of 0xffffffff as an invalid value in future device
tree bindings, meaning "don't touch this GPIO's configuration".

Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
 sound/soc/codecs/wm8903.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index 70a2268..0d1640e 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -1936,11 +1936,11 @@ static int wm8903_probe(struct snd_soc_codec *codec)
 		bool mic_gpio = false;
 
 		for (i = 0; i < ARRAY_SIZE(pdata->gpio_cfg); i++) {
-			if (pdata->gpio_cfg[i] == WM8903_GPIO_NO_CONFIG)
+			if (pdata->gpio_cfg[i] > 0x7fff)
 				continue;
 
 			snd_soc_write(codec, WM8903_GPIO_CONTROL_1 + i,
-				      pdata->gpio_cfg[i] & 0xffff);
+				      pdata->gpio_cfg[i] & 0x7fff);
 
 			val = (pdata->gpio_cfg[i] & WM8903_GP1_FN_MASK)
 				>> WM8903_GP1_FN_SHIFT;
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2011-12-02 10:35 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-01 20:49 [PATCH v3 1/6] ASoC: WM8903: Disallow all invalid gpio_cfg pdata values Stephen Warren
     [not found] ` <1322772564-27343-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-12-01 20:49   ` [PATCH v3 2/6] ASoC: WM8903: Create default platform data structure Stephen Warren
     [not found]     ` <1322772564-27343-2-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-12-02  0:29       ` Mark Brown
2011-12-01 20:49   ` [PATCH v3 3/6] ASoC: WM8903: Pass pdata to wm8903_init_gpio Stephen Warren
     [not found]     ` <1322772564-27343-3-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-12-02  0:27       ` Mark Brown
     [not found]         ` <20111202002730.GA31903-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-12-02  0:48           ` Stephen Warren
     [not found]             ` <74CDBE0F657A3D45AFBB94109FB122FF174FDB03FF-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-12-02  1:05               ` Mark Brown
2011-12-01 20:49   ` [PATCH v3 4/6] ASoC: WM8903: Remove conditionals checking pdata != NULL Stephen Warren
2011-12-01 20:49   ` [PATCH v3 5/6] ASoC: WM8903: Get default irq_active_low from IRQ controller Stephen Warren
2011-12-01 20:49   ` [PATCH v3 6/6] ASoC: WM8903: Add device tree binding Stephen Warren
2011-12-02 10:35   ` [PATCH v3 1/6] ASoC: WM8903: Disallow all invalid gpio_cfg pdata values Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.