ASoC: codecs: da7219: Introduce set_jack() callback
authorAmadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Mon, 31 Oct 2022 16:02:21 +0000 (17:02 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 7 Nov 2022 13:58:13 +0000 (13:58 +0000)
Codec driver for da7219 implements jack detect functionality, but does
not integrate it with the framework. Platform component drivers are
accessing the functionality through internal da7219_aad_jack_det()
instead.

Address this by implementing set_jack() for the codec.

Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20221031160227.2352630-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/da7219.c

index 4746c87..7468ee4 100644 (file)
@@ -2633,11 +2633,20 @@ static int da7219_resume(struct snd_soc_component *component)
 #define da7219_resume NULL
 #endif
 
+static int da7219_set_jack(struct snd_soc_component *component, struct snd_soc_jack *jack,
+                          void *data)
+{
+       da7219_aad_jack_det(component, jack);
+
+       return 0;
+}
+
 static const struct snd_soc_component_driver soc_component_dev_da7219 = {
        .probe                  = da7219_probe,
        .remove                 = da7219_remove,
        .suspend                = da7219_suspend,
        .resume                 = da7219_resume,
+       .set_jack               = da7219_set_jack,
        .set_bias_level         = da7219_set_bias_level,
        .controls               = da7219_snd_controls,
        .num_controls           = ARRAY_SIZE(da7219_snd_controls),