Commit 469cda29 authored by Alban Bedel's avatar Alban Bedel Committed by Mark Brown

ASoC: tegra: Read and use the GPIO flags of the headphone detect

The headphone detect was hardcoded to low-active, use the flags from
DT to allow high-active as well.
Signed-off-by: default avatarAlban Bedel <alban.bedel@avionic-design.de>
Acked-by: default avatarStephen Warren <swarren@nvidia.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f114040e
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
struct tegra_rt5640 { struct tegra_rt5640 {
struct tegra_asoc_utils_data util_data; struct tegra_asoc_utils_data util_data;
int gpio_hp_det; int gpio_hp_det;
enum of_gpio_flags gpio_hp_det_flags;
}; };
static int tegra_rt5640_asoc_hw_params(struct snd_pcm_substream *substream, static int tegra_rt5640_asoc_hw_params(struct snd_pcm_substream *substream,
...@@ -119,6 +120,8 @@ static int tegra_rt5640_asoc_init(struct snd_soc_pcm_runtime *rtd) ...@@ -119,6 +120,8 @@ static int tegra_rt5640_asoc_init(struct snd_soc_pcm_runtime *rtd)
if (gpio_is_valid(machine->gpio_hp_det)) { if (gpio_is_valid(machine->gpio_hp_det)) {
tegra_rt5640_hp_jack_gpio.gpio = machine->gpio_hp_det; tegra_rt5640_hp_jack_gpio.gpio = machine->gpio_hp_det;
tegra_rt5640_hp_jack_gpio.invert =
!!(machine->gpio_hp_det_flags & OF_GPIO_ACTIVE_LOW);
snd_soc_jack_add_gpios(&tegra_rt5640_hp_jack, snd_soc_jack_add_gpios(&tegra_rt5640_hp_jack,
1, 1,
&tegra_rt5640_hp_jack_gpio); &tegra_rt5640_hp_jack_gpio);
...@@ -180,7 +183,8 @@ static int tegra_rt5640_probe(struct platform_device *pdev) ...@@ -180,7 +183,8 @@ static int tegra_rt5640_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, card); platform_set_drvdata(pdev, card);
snd_soc_card_set_drvdata(card, machine); snd_soc_card_set_drvdata(card, machine);
machine->gpio_hp_det = of_get_named_gpio(np, "nvidia,hp-det-gpios", 0); machine->gpio_hp_det = of_get_named_gpio_flags(
np, "nvidia,hp-det-gpios", 0, &machine->gpio_hp_det_flags);
if (machine->gpio_hp_det == -EPROBE_DEFER) if (machine->gpio_hp_det == -EPROBE_DEFER)
return -EPROBE_DEFER; return -EPROBE_DEFER;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment