clk: fsl-sai: fix memory leak
[ Upstream commit e81bed419f032824e7ddf8b5630153be6637e480 ]
If the device is removed we don't unregister the composite clock. Fix
that.
Fixes: 9cd1020522
("clk: fsl-sai: new driver")
Signed-off-by: Michael Walle <michael@walle.cc>
Link: https://lore.kernel.org/r/20201105192746.19564-2-michael@walle.cc
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
608918e878
commit
45d670efcb
@@ -68,9 +68,20 @@ static int fsl_sai_clk_probe(struct platform_device *pdev)
|
|||||||
if (IS_ERR(hw))
|
if (IS_ERR(hw))
|
||||||
return PTR_ERR(hw);
|
return PTR_ERR(hw);
|
||||||
|
|
||||||
|
platform_set_drvdata(pdev, hw);
|
||||||
|
|
||||||
return devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, hw);
|
return devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, hw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int fsl_sai_clk_remove(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
struct clk_hw *hw = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
|
clk_hw_unregister_composite(hw);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct of_device_id of_fsl_sai_clk_ids[] = {
|
static const struct of_device_id of_fsl_sai_clk_ids[] = {
|
||||||
{ .compatible = "fsl,vf610-sai-clock" },
|
{ .compatible = "fsl,vf610-sai-clock" },
|
||||||
{ }
|
{ }
|
||||||
@@ -79,6 +90,7 @@ MODULE_DEVICE_TABLE(of, of_fsl_sai_clk_ids);
|
|||||||
|
|
||||||
static struct platform_driver fsl_sai_clk_driver = {
|
static struct platform_driver fsl_sai_clk_driver = {
|
||||||
.probe = fsl_sai_clk_probe,
|
.probe = fsl_sai_clk_probe,
|
||||||
|
.remove = fsl_sai_clk_remove,
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "fsl-sai-clk",
|
.name = "fsl-sai-clk",
|
||||||
.of_match_table = of_fsl_sai_clk_ids,
|
.of_match_table = of_fsl_sai_clk_ids,
|
||||||
|
Reference in New Issue
Block a user