diff --git a/sound/soc/tegra-alt/include/tegra186_dspk_alt.h b/sound/soc/tegra-alt/include/tegra186_dspk_alt.h index 81bdea44..61de823e 100644 --- a/sound/soc/tegra-alt/include/tegra186_dspk_alt.h +++ b/sound/soc/tegra-alt/include/tegra186_dspk_alt.h @@ -1,7 +1,7 @@ /* * tegra186_dspk_alt.h - Definitions for Tegra186 DSPK driver * - * Copyright (c) 2015-2018 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2015-2019 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -182,7 +182,6 @@ struct tegra186_dspk { struct clk *clk_pll_a_out0; struct regmap *regmap; const struct tegra186_dspk_soc_data *soc_data; - int is_pinctrl; struct pinctrl *pinctrl; struct pinctrl_state *pin_active_state; struct pinctrl_state *pin_idle_state; diff --git a/sound/soc/tegra-alt/include/tegra210_dmic_alt.h b/sound/soc/tegra-alt/include/tegra210_dmic_alt.h index 6191c820..a8a2cedc 100644 --- a/sound/soc/tegra-alt/include/tegra210_dmic_alt.h +++ b/sound/soc/tegra-alt/include/tegra210_dmic_alt.h @@ -1,7 +1,7 @@ /* * tegra210_dmic_alt.h - Definitions for Tegra210 DMIC driver * - * Copyright (c) 2014-2018 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -125,7 +125,6 @@ struct tegra210_dmic { struct clk *clk_pll_a_out0; struct regmap *regmap; const struct tegra210_dmic_soc_data *soc_data; - int is_pinctrl; struct pinctrl *pinctrl; struct pinctrl_state *pin_active_state; struct pinctrl_state *pin_idle_state; diff --git a/sound/soc/tegra-alt/tegra186_dspk_alt.c b/sound/soc/tegra-alt/tegra186_dspk_alt.c index 3c6ae56f..649c496a 100644 --- a/sound/soc/tegra-alt/tegra186_dspk_alt.c +++ b/sound/soc/tegra-alt/tegra186_dspk_alt.c @@ -205,12 +205,13 @@ static int tegra186_dspk_startup(struct snd_pcm_substream *substream, } if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) { - if (!IS_ERR(dspk->pin_active_state) && dspk->is_pinctrl) { + if (!IS_ERR(dspk->pin_active_state)) { ret = pinctrl_select_state(dspk->pinctrl, dspk->pin_active_state); if (ret < 0) { dev_err(dev, - "setting dap pinctrl active state failed\n"); + "setting dspk pinctrl active state failed\n"); + return -EINVAL; } } } @@ -226,7 +227,7 @@ static void tegra186_dspk_shutdown(struct snd_pcm_substream *substream, int ret; if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) { - if (!IS_ERR(dspk->pin_idle_state) && dspk->is_pinctrl) { + if (!IS_ERR(dspk->pin_idle_state)) { ret = pinctrl_select_state( dspk->pinctrl, dspk->pin_idle_state); if (ret < 0) { @@ -597,36 +598,24 @@ static int tegra186_dspk_platform_probe(struct platform_device *pdev) dspk->prod_name); } - if (of_property_read_u32(np, "nvidia,is-pinctrl", - &dspk->is_pinctrl) < 0) - dspk->is_pinctrl = 0; + dspk->pinctrl = devm_pinctrl_get(&pdev->dev); + if (IS_ERR(dspk->pinctrl)) { + dev_warn(&pdev->dev, "Missing pinctrl device\n"); + goto err_dap; + } - if (dspk->is_pinctrl) { - dspk->pinctrl = devm_pinctrl_get(&pdev->dev); - if (IS_ERR(dspk->pinctrl)) { - dev_warn(&pdev->dev, "Missing pinctrl device\n"); - goto err_dap; - } + dspk->pin_active_state = pinctrl_lookup_state(dspk->pinctrl, + "dap_active"); + if (IS_ERR(dspk->pin_active_state)) { + dev_dbg(&pdev->dev, "Missing dap-active state\n"); + goto err_dap; + } - dspk->pin_active_state = pinctrl_lookup_state(dspk->pinctrl, - "dap_active"); - if (IS_ERR(dspk->pin_active_state)) { - dev_dbg(&pdev->dev, "Missing dap-active state\n"); - goto err_dap; - } - - dspk->pin_idle_state = pinctrl_lookup_state(dspk->pinctrl, - "dap_inactive"); - if (IS_ERR(dspk->pin_idle_state)) { - dev_dbg(&pdev->dev, "Missing dap-inactive state\n"); - goto err_dap; - } - - ret = pinctrl_select_state(dspk->pinctrl, dspk->pin_idle_state); - if (ret < 0) { - dev_err(&pdev->dev, "setting state failed\n"); - goto err_dap; - } + dspk->pin_idle_state = pinctrl_lookup_state(dspk->pinctrl, + "dap_inactive"); + if (IS_ERR(dspk->pin_idle_state)) { + dev_dbg(&pdev->dev, "Missing dap-inactive state\n"); + goto err_dap; } err_dap: diff --git a/sound/soc/tegra-alt/tegra210_dmic_alt.c b/sound/soc/tegra-alt/tegra210_dmic_alt.c index 1e15c146..01d41710 100644 --- a/sound/soc/tegra-alt/tegra210_dmic_alt.c +++ b/sound/soc/tegra-alt/tegra210_dmic_alt.c @@ -241,12 +241,13 @@ static int tegra210_dmic_startup(struct snd_pcm_substream *substream, } if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) { - if (!IS_ERR(dmic->pin_active_state) && dmic->is_pinctrl) { + if (!IS_ERR(dmic->pin_active_state)) { ret = pinctrl_select_state(dmic->pinctrl, dmic->pin_active_state); if (ret < 0) { dev_err(dev, - "setting dap pinctrl active state failed\n"); + "setting dmic pinctrl active state failed\n"); + return -EINVAL; } } } @@ -261,7 +262,7 @@ static void tegra210_dmic_shutdown(struct snd_pcm_substream *substream, int ret; if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) { - if (!IS_ERR(dmic->pin_idle_state) && dmic->is_pinctrl) { + if (!IS_ERR(dmic->pin_idle_state)) { ret = pinctrl_select_state( dmic->pinctrl, dmic->pin_idle_state); if (ret < 0) @@ -816,36 +817,24 @@ static int tegra210_dmic_platform_probe(struct platform_device *pdev) dmic->prod_name); } - if (of_property_read_u32(np, "nvidia,is-pinctrl", - &dmic->is_pinctrl) < 0) - dmic->is_pinctrl = 0; + dmic->pinctrl = devm_pinctrl_get(&pdev->dev); + if (IS_ERR(dmic->pinctrl)) { + dev_warn(&pdev->dev, "Missing pinctrl device\n"); + goto err_dap; + } - if (dmic->is_pinctrl) { - dmic->pinctrl = devm_pinctrl_get(&pdev->dev); - if (IS_ERR(dmic->pinctrl)) { - dev_warn(&pdev->dev, "Missing pinctrl device\n"); - goto err_dap; - } + dmic->pin_active_state = pinctrl_lookup_state(dmic->pinctrl, + "dap_active"); + if (IS_ERR(dmic->pin_active_state)) { + dev_dbg(&pdev->dev, "Missing dap-active state\n"); + goto err_dap; + } - dmic->pin_active_state = pinctrl_lookup_state(dmic->pinctrl, - "dap_active"); - if (IS_ERR(dmic->pin_active_state)) { - dev_dbg(&pdev->dev, "Missing dap-active state\n"); - goto err_dap; - } - - dmic->pin_idle_state = pinctrl_lookup_state(dmic->pinctrl, - "dap_inactive"); - if (IS_ERR(dmic->pin_idle_state)) { - dev_dbg(&pdev->dev, "Missing dap-inactive state\n"); - goto err_dap; - } - - ret = pinctrl_select_state(dmic->pinctrl, dmic->pin_idle_state); - if (ret < 0) { - dev_err(&pdev->dev, "setting state failed\n"); - goto err_dap; - } + dmic->pin_idle_state = pinctrl_lookup_state(dmic->pinctrl, + "dap_inactive"); + if (IS_ERR(dmic->pin_idle_state)) { + dev_dbg(&pdev->dev, "Missing dap-inactive state\n"); + goto err_dap; } err_dap: diff --git a/sound/soc/tegra-alt/tegra210_i2s_alt.c b/sound/soc/tegra-alt/tegra210_i2s_alt.c index eac063c9..c9f8c2c1 100644 --- a/sound/soc/tegra-alt/tegra210_i2s_alt.c +++ b/sound/soc/tegra-alt/tegra210_i2s_alt.c @@ -517,8 +517,11 @@ static int tegra210_i2s_startup(struct snd_pcm_substream *substream, if (!IS_ERR(i2s->pin_default_state)) { ret = pinctrl_select_state(i2s->pinctrl, i2s->pin_default_state); - if (ret < 0) - dev_err(dev, "setting dap pinctrl default state failed\n"); + if (ret < 0) { + dev_err(dev, + "setting i2s pinctrl default state failed\n"); + return -EINVAL; + } } if (i2s->num_supplies > 0) { @@ -1241,11 +1244,6 @@ static int tegra210_i2s_platform_probe(struct platform_device *pdev) goto err_dap; } - ret = pinctrl_select_state(i2s->pinctrl, i2s->pin_idle_state); - if (ret < 0) { - dev_err(&pdev->dev, "setting state failed\n"); - goto err_dap; - } } err_dap: pm_runtime_enable(&pdev->dev);