[alsa-devel] [PATCH 120/127] ASoC: use component probe/remove on max98090

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Tue Aug 9 07:43:31 CEST 2016


From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>

codec driver and component driver has duplicated .probe/.remove
functions, and codec side is just relayed it. This was quick-hack,
but no longer needed.
This patch uses component .probe/.remove

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
 sound/soc/codecs/max98090.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c
index 584aab8..5bf89c4 100644
--- a/sound/soc/codecs/max98090.c
+++ b/sound/soc/codecs/max98090.c
@@ -2360,8 +2360,9 @@ static struct snd_soc_dai_driver max98090_dai[] = {
 }
 };
 
-static int max98090_probe(struct snd_soc_codec *codec)
+static int max98090_probe(struct snd_soc_component *component)
 {
+	struct snd_soc_codec *codec = snd_soc_component_to_codec(component);
 	struct max98090_priv *max98090 = snd_soc_codec_get_drvdata(codec);
 	struct max98090_cdata *cdata;
 	enum max98090_type devtype;
@@ -2470,8 +2471,9 @@ err_access:
 	return ret;
 }
 
-static int max98090_remove(struct snd_soc_codec *codec)
+static void max98090_remove(struct snd_soc_component *component)
 {
+	struct snd_soc_codec *codec = snd_soc_component_to_codec(component);
 	struct max98090_priv *max98090 = snd_soc_codec_get_drvdata(codec);
 
 	cancel_delayed_work_sync(&max98090->jack_work);
@@ -2479,8 +2481,6 @@ static int max98090_remove(struct snd_soc_codec *codec)
 	cancel_work_sync(&max98090->pll_det_disable_work);
 	cancel_work_sync(&max98090->pll_work);
 	max98090->codec = NULL;
-
-	return 0;
 }
 
 static void max98090_seq_notifier(struct snd_soc_dapm_context *dapm,
@@ -2500,10 +2500,12 @@ static void max98090_seq_notifier(struct snd_soc_dapm_context *dapm,
 }
 
 static struct snd_soc_codec_driver soc_codec_dev_max98090 = {
-	.probe   = max98090_probe,
-	.remove  = max98090_remove,
 	.seq_notifier = max98090_seq_notifier,
 	.set_bias_level = max98090_set_bias_level,
+	.component_driver = {
+		.probe			= max98090_probe,
+		.remove			= max98090_remove,
+	},
 };
 
 static const struct regmap_config max98090_regmap = {
-- 
1.9.1



More information about the Alsa-devel mailing list