From bad83abb5c297b3ec843fbd5b3acdc5f91871036 Mon Sep 17 00:00:00 2001 From: Srinivas Kandagatla Date: Wed, 20 May 2026 15:50:01 +0000 Subject: [PATCH 1/2] ASoC: mt8173-max98090: use standard callback to set jack use snd_soc_component_set_jack() instead of custom callback to max98090 codec. This will help other drivers using the standard callback to exercise the standard path instead of custom callback. Signed-off-by: Srinivas Kandagatla Link: https://patch.msgid.link/20260520155002.145306-2-srinivas.kandagatla@oss.qualcomm.com Signed-off-by: Mark Brown --- sound/soc/mediatek/mt8173/mt8173-max98090.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/mediatek/mt8173/mt8173-max98090.c b/sound/soc/mediatek/mt8173/mt8173-max98090.c index 49ebb67c818a..7533c6e4955b 100644 --- a/sound/soc/mediatek/mt8173/mt8173-max98090.c +++ b/sound/soc/mediatek/mt8173/mt8173-max98090.c @@ -1,3 +1,4 @@ + // SPDX-License-Identifier: GPL-2.0 /* * mt8173-max98090.c -- MT8173 MAX98090 ALSA SoC machine driver @@ -9,7 +10,6 @@ #include #include #include -#include "../../codecs/max98090.h" static struct snd_soc_jack mt8173_max98090_jack; @@ -78,7 +78,7 @@ static int mt8173_max98090_init(struct snd_soc_pcm_runtime *runtime) return ret; } - return max98090_mic_detect(component, &mt8173_max98090_jack); + return snd_soc_component_set_jack(component, &mt8173_max98090_jack, NULL); } SND_SOC_DAILINK_DEFS(playback, From e2c428c3832ef054f494bf5dcd0f740616f9bcae Mon Sep 17 00:00:00 2001 From: Srinivas Kandagatla Date: Wed, 20 May 2026 15:50:02 +0000 Subject: [PATCH 2/2] ASoC: codecs: max98090: use component set_jack callback The MAX98090 driver provides a custom max98090_mic_detect() helper for machine drivers to register a jack. This can be implemented using the standard component set_jack callback instead. Doing so allows machine drivers to use snd_soc_component_set_jack(), which is also the interface used by machine drivers including Qualcomm ones. Convert max98090_mic_detect() to a component set_jack callback and remove the exported helper. Signed-off-by: Srinivas Kandagatla Link: https://patch.msgid.link/20260520155002.145306-3-srinivas.kandagatla@oss.qualcomm.com Signed-off-by: Mark Brown --- sound/soc/codecs/max98090.c | 10 +++++----- sound/soc/codecs/max98090.h | 3 --- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c index 13a15459040f..bd3bfa1d3402 100644 --- a/sound/soc/codecs/max98090.c +++ b/sound/soc/codecs/max98090.c @@ -2337,7 +2337,7 @@ static irqreturn_t max98090_interrupt(int irq, void *data) } /** - * max98090_mic_detect - Enable microphone detection via the MAX98090 IRQ + * max98090_set_jack - Enable microphone detection via the MAX98090 IRQ * * @component: MAX98090 component * @jack: jack to report detection events on @@ -2349,12 +2349,12 @@ static irqreturn_t max98090_interrupt(int irq, void *data) * * If no jack is supplied detection will be disabled. */ -int max98090_mic_detect(struct snd_soc_component *component, - struct snd_soc_jack *jack) +static int max98090_set_jack(struct snd_soc_component *component, + struct snd_soc_jack *jack, void *data) { struct max98090_priv *max98090 = snd_soc_component_get_drvdata(component); - dev_dbg(component->dev, "max98090_mic_detect\n"); + dev_dbg(component->dev, "%s\n", __func__); max98090->jack = jack; if (jack) { @@ -2377,7 +2377,6 @@ int max98090_mic_detect(struct snd_soc_component *component, return 0; } -EXPORT_SYMBOL_GPL(max98090_mic_detect); #define MAX98090_RATES SNDRV_PCM_RATE_8000_96000 #define MAX98090_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE) @@ -2554,6 +2553,7 @@ static const struct snd_soc_component_driver soc_component_dev_max98090 = { .remove = max98090_remove, .seq_notifier = max98090_seq_notifier, .set_bias_level = max98090_set_bias_level, + .set_jack = max98090_set_jack, .idle_bias_on = 1, .use_pmdown_time = 1, .endianness = 1, diff --git a/sound/soc/codecs/max98090.h b/sound/soc/codecs/max98090.h index 6ce8dd176e48..048af4a1376f 100644 --- a/sound/soc/codecs/max98090.h +++ b/sound/soc/codecs/max98090.h @@ -1543,7 +1543,4 @@ struct max98090_priv { bool shdn_pending; }; -int max98090_mic_detect(struct snd_soc_component *component, - struct snd_soc_jack *jack); - #endif