ASoC: cs42l42: Pass component and dai defs into common probe
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Thu, 15 Sep 2022 09:44:39 +0000 (11:44 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 19 Sep 2022 17:05:32 +0000 (18:05 +0100)
Pass pointers to snd_soc_component_driver and snd_soc_dai_driver
objects into cs42l42_common_probe().

This is in preparation for adding SoundWire support.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Martin PoviĊĦer <povik+lin@cutebit.org>
Link: https://lore.kernel.org/r/20220915094444.11434-7-povik+lin@cutebit.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs42l42.c

index b629557..20d84db 100644 (file)
@@ -579,7 +579,7 @@ static int cs42l42_set_jack(struct snd_soc_component *component, struct snd_soc_
        return 0;
 }
 
-static const struct snd_soc_component_driver soc_component_dev_cs42l42 = {
+static const struct snd_soc_component_driver cs42l42_soc_component = {
        .set_jack               = cs42l42_set_jack,
        .dapm_widgets           = cs42l42_dapm_widgets,
        .num_dapm_widgets       = ARRAY_SIZE(cs42l42_dapm_widgets),
@@ -2220,7 +2220,9 @@ static int __maybe_unused cs42l42_i2c_resume(struct device *dev)
        return 0;
 }
 
-static int cs42l42_common_probe(struct cs42l42_private *cs42l42)
+static int cs42l42_common_probe(struct cs42l42_private *cs42l42,
+                               const struct snd_soc_component_driver *component_drv,
+                               struct snd_soc_dai_driver *dai)
 {
        int ret, i;
 
@@ -2276,9 +2278,7 @@ static int cs42l42_common_probe(struct cs42l42_private *cs42l42)
        }
 
        /* Register codec now so it can EPROBE_DEFER */
-       ret = devm_snd_soc_register_component(cs42l42->dev,
-                                             &soc_component_dev_cs42l42,
-                                             &cs42l42_dai, 1);
+       ret = devm_snd_soc_register_component(cs42l42->dev, component_drv, dai, 1);
        if (ret < 0)
                goto err;
 
@@ -2417,7 +2417,7 @@ static int cs42l42_i2c_probe(struct i2c_client *i2c_client)
        cs42l42->regmap = regmap;
        cs42l42->irq = i2c_client->irq;
 
-       ret = cs42l42_common_probe(cs42l42);
+       ret = cs42l42_common_probe(cs42l42, &cs42l42_soc_component, &cs42l42_dai);
        if (ret)
                return ret;