mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
ASoC: fsl_micfil: Fix error handler with pm_runtime_enable
[ Upstream commit17955aba78] There is error message when defer probe happens: fsl-micfil-dai 30ca0000.micfil: Unbalanced pm_runtime_enable! Fix the error handler with pm_runtime_enable and add fsl_micfil_remove() for pm_runtime_disable. Fixes:47a70e6fc9("ASoC: Add MICFIL SoC Digital Audio Interface driver.") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com Link: https://lore.kernel.org/r/1683540996-6136-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
a2e5a77ae3
commit
3a4ff14b0e
@@ -763,7 +763,7 @@ static int fsl_micfil_probe(struct platform_device *pdev)
|
|||||||
ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0);
|
ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "failed to pcm register\n");
|
dev_err(&pdev->dev, "failed to pcm register\n");
|
||||||
return ret;
|
goto err_pm_disable;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = devm_snd_soc_register_component(&pdev->dev, &fsl_micfil_component,
|
ret = devm_snd_soc_register_component(&pdev->dev, &fsl_micfil_component,
|
||||||
@@ -771,9 +771,20 @@ static int fsl_micfil_probe(struct platform_device *pdev)
|
|||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "failed to register component %s\n",
|
dev_err(&pdev->dev, "failed to register component %s\n",
|
||||||
fsl_micfil_component.name);
|
fsl_micfil_component.name);
|
||||||
|
goto err_pm_disable;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
err_pm_disable:
|
||||||
|
pm_runtime_disable(&pdev->dev);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void fsl_micfil_remove(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
pm_runtime_disable(&pdev->dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __maybe_unused fsl_micfil_runtime_suspend(struct device *dev)
|
static int __maybe_unused fsl_micfil_runtime_suspend(struct device *dev)
|
||||||
@@ -834,6 +845,7 @@ static const struct dev_pm_ops fsl_micfil_pm_ops = {
|
|||||||
|
|
||||||
static struct platform_driver fsl_micfil_driver = {
|
static struct platform_driver fsl_micfil_driver = {
|
||||||
.probe = fsl_micfil_probe,
|
.probe = fsl_micfil_probe,
|
||||||
|
.remove_new = fsl_micfil_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "fsl-micfil-dai",
|
.name = "fsl-micfil-dai",
|
||||||
.pm = &fsl_micfil_pm_ops,
|
.pm = &fsl_micfil_pm_ops,
|
||||||
|
|||||||
Reference in New Issue
Block a user