diff options
-rw-r--r-- | sound/soc/tegra/tegra_rt5640.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/tegra/tegra_rt5640.c b/sound/soc/tegra/tegra_rt5640.c index a66b4c6a1532..16bfa42dec14 100644 --- a/sound/soc/tegra/tegra_rt5640.c +++ b/sound/soc/tegra/tegra_rt5640.c @@ -354,7 +354,8 @@ static int tegra_rt5640_jack_notifier(struct notifier_block *self, if (jack == &tegra_rt5640_hp_jack) { if (action) { /* Enable ext mic; enable signal is active-low */ - gpio_direction_output(pdata->gpio_ext_mic_en, 0); + if (gpio_is_valid(pdata->gpio_ext_mic_en)) + gpio_direction_output(pdata->gpio_ext_mic_en, 0); if (!strncmp(machine->pdata->codec_name, "rt5639", 6)) status_jack = rt5639_headset_detect(codec, 1); else if (!strncmp(machine->pdata->codec_name, "rt5640", @@ -376,7 +377,8 @@ static int tegra_rt5640_jack_notifier(struct notifier_block *self, } } else { /* Disable ext mic; enable signal is active-low */ - gpio_direction_output(pdata->gpio_ext_mic_en, 1); + if (gpio_is_valid(pdata->gpio_ext_mic_en)) + gpio_direction_output(pdata->gpio_ext_mic_en, 1); if (!strncmp(machine->pdata->codec_name, "rt5639", 6)) rt5639_headset_detect(codec, 0); else if (!strncmp(machine->pdata->codec_name, "rt5640", |