|
@@ -150,17 +150,15 @@ static int __init tc_probe(struct platform_device *pdev)
|
|
|
if (irq < 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- tc = kzalloc(sizeof(struct atmel_tc), GFP_KERNEL);
|
|
|
+ tc = devm_kzalloc(&pdev->dev, sizeof(struct atmel_tc), GFP_KERNEL);
|
|
|
if (!tc)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
tc->pdev = pdev;
|
|
|
|
|
|
- clk = clk_get(&pdev->dev, "t0_clk");
|
|
|
- if (IS_ERR(clk)) {
|
|
|
- kfree(tc);
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
+ clk = devm_clk_get(&pdev->dev, "t0_clk");
|
|
|
+ if (IS_ERR(clk))
|
|
|
+ return PTR_ERR(clk);
|
|
|
|
|
|
/* Now take SoC information if available */
|
|
|
if (pdev->dev.of_node) {
|
|
@@ -171,10 +169,10 @@ static int __init tc_probe(struct platform_device *pdev)
|
|
|
}
|
|
|
|
|
|
tc->clk[0] = clk;
|
|
|
- tc->clk[1] = clk_get(&pdev->dev, "t1_clk");
|
|
|
+ tc->clk[1] = devm_clk_get(&pdev->dev, "t1_clk");
|
|
|
if (IS_ERR(tc->clk[1]))
|
|
|
tc->clk[1] = clk;
|
|
|
- tc->clk[2] = clk_get(&pdev->dev, "t2_clk");
|
|
|
+ tc->clk[2] = devm_clk_get(&pdev->dev, "t2_clk");
|
|
|
if (IS_ERR(tc->clk[2]))
|
|
|
tc->clk[2] = clk;
|
|
|
|