Commit 60a97386 authored by V Sujith Kumar Reddy's avatar V Sujith Kumar Reddy Committed by Mark Brown

ASoC: qcom: sc7180: Register shutdown handler for lpass platform

Register shutdown handler to stop sc7180 lpass platform driver
and to disable audio clocks.
Signed-off-by: default avatarV Sujith Kumar Reddy <vsujithk@codeaurora.org>
Signed-off-by: default avatarSrinivasa Rao Mandadapu <srivasam@codeaurora.org>
Link: https://lore.kernel.org/r/1605292702-25046-1-git-send-email-srivasam@codeaurora.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 313ebec4
...@@ -908,5 +908,15 @@ int asoc_qcom_lpass_cpu_platform_remove(struct platform_device *pdev) ...@@ -908,5 +908,15 @@ int asoc_qcom_lpass_cpu_platform_remove(struct platform_device *pdev)
} }
EXPORT_SYMBOL_GPL(asoc_qcom_lpass_cpu_platform_remove); EXPORT_SYMBOL_GPL(asoc_qcom_lpass_cpu_platform_remove);
void asoc_qcom_lpass_cpu_platform_shutdown(struct platform_device *pdev)
{
struct lpass_data *drvdata = platform_get_drvdata(pdev);
if (drvdata->variant->exit)
drvdata->variant->exit(pdev);
}
EXPORT_SYMBOL_GPL(asoc_qcom_lpass_cpu_platform_shutdown);
MODULE_DESCRIPTION("QTi LPASS CPU Driver"); MODULE_DESCRIPTION("QTi LPASS CPU Driver");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
...@@ -298,6 +298,7 @@ static struct platform_driver sc7180_lpass_cpu_platform_driver = { ...@@ -298,6 +298,7 @@ static struct platform_driver sc7180_lpass_cpu_platform_driver = {
}, },
.probe = asoc_qcom_lpass_cpu_platform_probe, .probe = asoc_qcom_lpass_cpu_platform_probe,
.remove = asoc_qcom_lpass_cpu_platform_remove, .remove = asoc_qcom_lpass_cpu_platform_remove,
.shutdown = asoc_qcom_lpass_cpu_platform_shutdown,
}; };
module_platform_driver(sc7180_lpass_cpu_platform_driver); module_platform_driver(sc7180_lpass_cpu_platform_driver);
......
...@@ -255,6 +255,7 @@ struct lpass_variant { ...@@ -255,6 +255,7 @@ struct lpass_variant {
/* register the platform driver from the CPU DAI driver */ /* register the platform driver from the CPU DAI driver */
int asoc_qcom_lpass_platform_register(struct platform_device *); int asoc_qcom_lpass_platform_register(struct platform_device *);
int asoc_qcom_lpass_cpu_platform_remove(struct platform_device *pdev); int asoc_qcom_lpass_cpu_platform_remove(struct platform_device *pdev);
void asoc_qcom_lpass_cpu_platform_shutdown(struct platform_device *pdev);
int asoc_qcom_lpass_cpu_platform_probe(struct platform_device *pdev); int asoc_qcom_lpass_cpu_platform_probe(struct platform_device *pdev);
int asoc_qcom_lpass_cpu_dai_probe(struct snd_soc_dai *dai); int asoc_qcom_lpass_cpu_dai_probe(struct snd_soc_dai *dai);
extern const struct snd_soc_dai_ops asoc_qcom_lpass_cpu_dai_ops; extern const struct snd_soc_dai_ops asoc_qcom_lpass_cpu_dai_ops;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment