diff options
author | Adam Brickman <Adam.Brickman@cirrus.com> | 2019-12-04 21:04:53 -0600 |
---|---|---|
committer | Alexander Deucher <alexander.deucher@amd.com> | 2021-09-01 00:00:59 -0400 |
commit | 5e94d2185f6ba9e0d6358d07888c66acd6d1460b (patch) | |
tree | 3e193b3316a3b3111dbc3e0a2e5fba7d9b46e1dd /sound | |
parent | 54997727e69174a11a5b3cd540095dcf4816cdba (diff) |
ASoC: cs35l41: Fix various mutex init / destroy issues
* Remove duplicate mutex init that is handled in
the base cs35l41.c file.
* Add mutex_destroy() calls as appropriate in cs35l41_remove().
Signed-off-by: Adam Brickman <Adam.Brickman@cirrus.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/cs35l41-i2c.c | 2 | ||||
-rw-r--r-- | sound/soc/codecs/cs35l41-spi.c | 1 | ||||
-rw-r--r-- | sound/soc/codecs/cs35l41.c | 3 |
3 files changed, 3 insertions, 3 deletions
diff --git a/sound/soc/codecs/cs35l41-i2c.c b/sound/soc/codecs/cs35l41-i2c.c index 19843bd1f894..82f6cf7e5f02 100644 --- a/sound/soc/codecs/cs35l41-i2c.c +++ b/sound/soc/codecs/cs35l41-i2c.c @@ -71,8 +71,6 @@ static int cs35l41_i2c_probe(struct i2c_client *client, if (cs35l41 == NULL) return -ENOMEM; - mutex_init(&cs35l41->rate_lock); - cs35l41->dev = dev; cs35l41->irq = client->irq; cs35l41->bus_spi = false; diff --git a/sound/soc/codecs/cs35l41-spi.c b/sound/soc/codecs/cs35l41-spi.c index 8d72df73bd21..47189c112b5a 100644 --- a/sound/soc/codecs/cs35l41-spi.c +++ b/sound/soc/codecs/cs35l41-spi.c @@ -67,7 +67,6 @@ static int cs35l41_spi_probe(struct spi_device *spi) if (cs35l41 == NULL) return -ENOMEM; - mutex_init(&cs35l41->rate_lock); spi_set_drvdata(spi, cs35l41); cs35l41->regmap = devm_regmap_init_spi(spi, regmap_config); diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c index d6905310b7fb..c2efa1a0ea74 100644 --- a/sound/soc/codecs/cs35l41.c +++ b/sound/soc/codecs/cs35l41.c @@ -3531,9 +3531,12 @@ int cs35l41_remove(struct cs35l41_private *cs35l41) { destroy_workqueue(cs35l41->wq); mutex_destroy(&cs35l41->hb_lock); + destroy_workqueue(cs35l41->vol_ctl.ramp_wq); + mutex_destroy(&cs35l41->vol_ctl.vol_mutex); regmap_write(cs35l41->regmap, CS35L41_IRQ1_MASK1, 0xFFFFFFFF); mutex_destroy(&cs35l41->force_int_lock); wm_adsp2_remove(&cs35l41->dsp); + mutex_destroy(&cs35l41->rate_lock); regulator_bulk_disable(cs35l41->num_supplies, cs35l41->supplies); snd_soc_unregister_component(cs35l41->dev); return 0; |