ASoC: omap-mcpdm: Fix irq resource handling
Fixes: ddd17531ad
("ASoC: omap-mcpdm: Clean up with devm_* function")
Managed irq request will not doing any good in ASoC probe level as it is
not going to free up the irq when the driver is unbound from the sound
card.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reported-by: Russell King <linux@armlinux.org.uk>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
21eb45db28
commit
a871967068
|
@ -394,8 +394,8 @@ static int omap_mcpdm_probe(struct snd_soc_dai *dai)
|
||||||
pm_runtime_get_sync(mcpdm->dev);
|
pm_runtime_get_sync(mcpdm->dev);
|
||||||
omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, 0x00);
|
omap_mcpdm_write(mcpdm, MCPDM_REG_CTRL, 0x00);
|
||||||
|
|
||||||
ret = devm_request_irq(mcpdm->dev, mcpdm->irq, omap_mcpdm_irq_handler,
|
ret = request_irq(mcpdm->irq, omap_mcpdm_irq_handler, 0, "McPDM",
|
||||||
0, "McPDM", (void *)mcpdm);
|
(void *)mcpdm);
|
||||||
|
|
||||||
pm_runtime_put_sync(mcpdm->dev);
|
pm_runtime_put_sync(mcpdm->dev);
|
||||||
|
|
||||||
|
@ -420,6 +420,7 @@ static int omap_mcpdm_remove(struct snd_soc_dai *dai)
|
||||||
{
|
{
|
||||||
struct omap_mcpdm *mcpdm = snd_soc_dai_get_drvdata(dai);
|
struct omap_mcpdm *mcpdm = snd_soc_dai_get_drvdata(dai);
|
||||||
|
|
||||||
|
free_irq(mcpdm->irq, (void *)mcpdm);
|
||||||
pm_runtime_disable(mcpdm->dev);
|
pm_runtime_disable(mcpdm->dev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue