mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-13 18:49:22 -04:00
staging: media: omap1: Replace clk_get with devm_clk_get
devm_clk_get allocated resources get released when a driver detaches.
Replace clk_get with devm_clk_get and remove corresponding data
releasing function clk_put from probe and remove functions of a
platform device. Also remove an unnecessary label.
This change was made with the help of the following Coccinelle
semantic patch:
@platform@
identifier p, probefn, removefn;
@@
struct platform_driver p = {
.probe = probefn,
.remove = removefn,
};
@prb@
identifier platform.probefn, pdev;
expression e;
@@
probefn(struct platform_device *pdev, ...) {
...
e =
- clk_get
+ devm_clk_get
(...);
...
?- clk_put(...);
...
}
@remove depends on prb@
identifier platform.removefn;
@@
removefn(...) {
...
?- clk_put(...);
...
}
Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4ada295da1
commit
f90272f432
@@ -1576,17 +1576,14 @@ static int omap1_cam_probe(struct platform_device *pdev)
|
||||
goto exit;
|
||||
}
|
||||
|
||||
clk = clk_get(&pdev->dev, "armper_ck");
|
||||
if (IS_ERR(clk)) {
|
||||
err = PTR_ERR(clk);
|
||||
goto exit;
|
||||
}
|
||||
clk = devm_clk_get(&pdev->dev, "armper_ck");
|
||||
if (IS_ERR(clk))
|
||||
return PTR_ERR(clk);
|
||||
|
||||
pcdev = kzalloc(sizeof(*pcdev) + resource_size(res), GFP_KERNEL);
|
||||
if (!pcdev) {
|
||||
dev_err(&pdev->dev, "Could not allocate pcdev\n");
|
||||
err = -ENOMEM;
|
||||
goto exit_put_clk;
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
pcdev->res = res;
|
||||
@@ -1685,8 +1682,6 @@ static int omap1_cam_probe(struct platform_device *pdev)
|
||||
release_mem_region(res->start, resource_size(res));
|
||||
exit_kfree:
|
||||
kfree(pcdev);
|
||||
exit_put_clk:
|
||||
clk_put(clk);
|
||||
exit:
|
||||
return err;
|
||||
}
|
||||
@@ -1709,8 +1704,6 @@ static int omap1_cam_remove(struct platform_device *pdev)
|
||||
res = pcdev->res;
|
||||
release_mem_region(res->start, resource_size(res));
|
||||
|
||||
clk_put(pcdev->clk);
|
||||
|
||||
kfree(pcdev);
|
||||
|
||||
dev_info(&pdev->dev, "OMAP1 Camera Interface driver unloaded\n");
|
||||
|
||||
Reference in New Issue
Block a user