diff options
| author | Shuming Fan <shumingf@realtek.com> | 2023-07-05 07:23:48 +0300 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2023-07-10 00:50:56 +0300 |
| commit | 7f6ecc220272dff53b7cec0ae2a863eefcb5335b (patch) | |
| tree | 25e47de4cf49b8aedf72c274d46f451617db90e4 | |
| parent | 0e66a2c694096abc54ed58b3be654103f155ea43 (diff) | |
| download | linux-7f6ecc220272dff53b7cec0ae2a863eefcb5335b.tar.xz | |
ASoC: rt5645: implement set_jack callback
Add a wrapper function to support set_jack component driver callback.
Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://lore.kernel.org/r/20230705042349.24905-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
| -rw-r--r-- | sound/soc/codecs/rt5645.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c index a506d940a2ea..b0953e9bcaf9 100644 --- a/sound/soc/codecs/rt5645.c +++ b/sound/soc/codecs/rt5645.c @@ -3258,6 +3258,22 @@ int rt5645_set_jack_detect(struct snd_soc_component *component, } EXPORT_SYMBOL_GPL(rt5645_set_jack_detect); +static int rt5645_component_set_jack(struct snd_soc_component *component, + struct snd_soc_jack *hs_jack, void *data) +{ + struct snd_soc_jack *mic_jack = NULL; + struct snd_soc_jack *btn_jack = NULL; + int *type = (int *)data; + + if (*type & SND_JACK_MICROPHONE) + mic_jack = hs_jack; + if (*type & (SND_JACK_BTN_0 | SND_JACK_BTN_1 | + SND_JACK_BTN_2 | SND_JACK_BTN_3)) + btn_jack = hs_jack; + + return rt5645_set_jack_detect(component, hs_jack, mic_jack, btn_jack); +} + static void rt5645_jack_detect_work(struct work_struct *work) { struct rt5645_priv *rt5645 = @@ -3532,6 +3548,7 @@ static const struct snd_soc_component_driver soc_component_dev_rt5645 = { .num_dapm_widgets = ARRAY_SIZE(rt5645_dapm_widgets), .dapm_routes = rt5645_dapm_routes, .num_dapm_routes = ARRAY_SIZE(rt5645_dapm_routes), + .set_jack = rt5645_component_set_jack, .use_pmdown_time = 1, .endianness = 1, }; |
