mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-18 08:35:08 +08:00
db635ba4fa
UCM of Acer Chromebook (Nyan) uses a different name for the headphones
jack. The name was changed during unification of the machine drivers and
UCM fails now to load because of that. Restore the old jack name.
Cc: <stable@vger.kernel.org>
Fixes: cc8f70f
("ASoC: tegra: Unify ASoC machine drivers")
Reported-by: Thomas Graichen <thomas.graichen@gmail.com> # T124 Nyan Big
Tested-by: Thomas Graichen <thomas.graichen@gmail.com> # T124 Nyan Big
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20211211231146.6137-2-digetx@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
#ifndef __TEGRA_ASOC_MACHINE_H__
|
|
#define __TEGRA_ASOC_MACHINE_H__
|
|
|
|
struct clk;
|
|
struct gpio_desc;
|
|
struct snd_soc_card;
|
|
struct snd_soc_jack;
|
|
struct platform_device;
|
|
struct snd_soc_jack_gpio;
|
|
struct snd_soc_pcm_runtime;
|
|
|
|
struct tegra_asoc_data {
|
|
unsigned int (*mclk_rate)(unsigned int srate);
|
|
const char *codec_dev_name;
|
|
const char *hp_jack_name;
|
|
struct snd_soc_card *card;
|
|
unsigned int mclk_id;
|
|
bool hp_jack_gpio_active_low;
|
|
bool add_common_dapm_widgets;
|
|
bool add_common_controls;
|
|
bool add_common_snd_ops;
|
|
bool add_headset_jack;
|
|
bool add_mic_jack;
|
|
bool add_hp_jack;
|
|
bool set_ac97;
|
|
};
|
|
|
|
struct tegra_machine {
|
|
struct clk *clk_pll_a_out0;
|
|
struct clk *clk_pll_a;
|
|
struct clk *clk_cdev1;
|
|
unsigned int set_baseclock;
|
|
unsigned int set_mclk;
|
|
const struct tegra_asoc_data *asoc;
|
|
struct gpio_desc *gpiod_ext_mic_en;
|
|
struct gpio_desc *gpiod_int_mic_en;
|
|
struct gpio_desc *gpiod_spkr_en;
|
|
struct gpio_desc *gpiod_mic_det;
|
|
struct gpio_desc *gpiod_ear_sel;
|
|
struct gpio_desc *gpiod_hp_mute;
|
|
struct gpio_desc *gpiod_hp_det;
|
|
struct snd_soc_jack *mic_jack;
|
|
struct snd_soc_jack_gpio *hp_jack_gpio;
|
|
};
|
|
|
|
int tegra_asoc_machine_probe(struct platform_device *pdev);
|
|
int tegra_asoc_machine_init(struct snd_soc_pcm_runtime *rtd);
|
|
|
|
#endif
|