mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 01:30:55 +07:00
ASoC: wcd9335: Disable irq on slave ports in the remove function
[ Upstream commit d3efd26af2e044ff2b48d38bb871630282d77e60 ]
The probe calls 'wcd9335_setup_irqs()' to enable interrupts on all slave
ports.
This must be undone in the remove function.
Add a 'wcd9335_teardown_irqs()' function that undoes 'wcd9335_setup_irqs()'
function, and call it from the remove function.
Fixes: 20aedafdf4
("ASoC: wcd9335: add support to wcd9335 codec")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Message-Id: <8f761244d79bd4c098af8a482be9121d3a486d1b.1629091028.git.christophe.jaillet@wanadoo.fr>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
0b61f7cb1d
commit
36997186f0
@ -4076,6 +4076,16 @@ static int wcd9335_setup_irqs(struct wcd9335_codec *wcd)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void wcd9335_teardown_irqs(struct wcd9335_codec *wcd)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* disable interrupts on all slave ports */
|
||||||
|
for (i = 0; i < WCD9335_SLIM_NUM_PORT_REG; i++)
|
||||||
|
regmap_write(wcd->if_regmap, WCD9335_SLIM_PGD_PORT_INT_EN0 + i,
|
||||||
|
0x00);
|
||||||
|
}
|
||||||
|
|
||||||
static void wcd9335_cdc_sido_ccl_enable(struct wcd9335_codec *wcd,
|
static void wcd9335_cdc_sido_ccl_enable(struct wcd9335_codec *wcd,
|
||||||
bool ccl_flag)
|
bool ccl_flag)
|
||||||
{
|
{
|
||||||
@ -4878,6 +4888,7 @@ static void wcd9335_codec_remove(struct snd_soc_component *comp)
|
|||||||
struct wcd9335_codec *wcd = dev_get_drvdata(comp->dev);
|
struct wcd9335_codec *wcd = dev_get_drvdata(comp->dev);
|
||||||
|
|
||||||
wcd_clsh_ctrl_free(wcd->clsh_ctrl);
|
wcd_clsh_ctrl_free(wcd->clsh_ctrl);
|
||||||
|
wcd9335_teardown_irqs(wcd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int wcd9335_codec_set_sysclk(struct snd_soc_component *comp,
|
static int wcd9335_codec_set_sysclk(struct snd_soc_component *comp,
|
||||||
|
Loading…
Reference in New Issue
Block a user