ASoC: cs42l43: Shut down jack detection on component remove

Disable the jack detection and sync in any currently running work when
the component is removed.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20240202140619.1068560-3-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Charles Keepax 2024-02-02 14:06:19 +00:00 committed by Mark Brown
parent 7fa1a01ba6
commit 3ef9f445dd
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0

View file

@ -2115,6 +2115,13 @@ static void cs42l43_component_remove(struct snd_soc_component *component)
{
struct cs42l43_codec *priv = snd_soc_component_get_drvdata(component);
cs42l43_set_jack(priv->component, NULL, NULL);
cancel_delayed_work_sync(&priv->bias_sense_timeout);
cancel_delayed_work_sync(&priv->tip_sense_work);
cancel_delayed_work_sync(&priv->button_press_work);
cancel_work_sync(&priv->button_release_work);
cancel_work_sync(&priv->hp_ilimit_work);
cancel_delayed_work_sync(&priv->hp_ilimit_clear_work);