|
@@ -1936,11 +1936,11 @@ static int wm8903_probe(struct snd_soc_codec *codec)
|
|
bool mic_gpio = false;
|
|
bool mic_gpio = false;
|
|
|
|
|
|
for (i = 0; i < ARRAY_SIZE(pdata->gpio_cfg); i++) {
|
|
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;
|
|
continue;
|
|
|
|
|
|
snd_soc_write(codec, WM8903_GPIO_CONTROL_1 + i,
|
|
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)
|
|
val = (pdata->gpio_cfg[i] & WM8903_GP1_FN_MASK)
|
|
>> WM8903_GP1_FN_SHIFT;
|
|
>> WM8903_GP1_FN_SHIFT;
|