|
@@ -138,6 +138,16 @@ static int exynos_lpass_probe(struct platform_device *pdev)
|
|
return of_platform_populate(dev->of_node, NULL, NULL, dev);
|
|
return of_platform_populate(dev->of_node, NULL, NULL, dev);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static int exynos_lpass_remove(struct platform_device *pdev)
|
|
|
|
+{
|
|
|
|
+ struct exynos_lpass *lpass = platform_get_drvdata(pdev);
|
|
|
|
+
|
|
|
|
+ exynos_lpass_disable(lpass);
|
|
|
|
+ regmap_exit(lpass->top);
|
|
|
|
+
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
static int __maybe_unused exynos_lpass_suspend(struct device *dev)
|
|
static int __maybe_unused exynos_lpass_suspend(struct device *dev)
|
|
{
|
|
{
|
|
struct exynos_lpass *lpass = dev_get_drvdata(dev);
|
|
struct exynos_lpass *lpass = dev_get_drvdata(dev);
|
|
@@ -172,6 +182,7 @@ static struct platform_driver exynos_lpass_driver = {
|
|
.of_match_table = exynos_lpass_of_match,
|
|
.of_match_table = exynos_lpass_of_match,
|
|
},
|
|
},
|
|
.probe = exynos_lpass_probe,
|
|
.probe = exynos_lpass_probe,
|
|
|
|
+ .remove = exynos_lpass_remove,
|
|
};
|
|
};
|
|
module_platform_driver(exynos_lpass_driver);
|
|
module_platform_driver(exynos_lpass_driver);
|
|
|
|
|