|
@@ -688,8 +688,6 @@ static int sh_cmt_setup(struct sh_cmt_priv *p, struct platform_device *pdev)
|
|
|
goto err0;
|
|
|
}
|
|
|
|
|
|
- platform_set_drvdata(pdev, p);
|
|
|
-
|
|
|
res = platform_get_resource(p->pdev, IORESOURCE_MEM, 0);
|
|
|
if (!res) {
|
|
|
dev_err(&p->pdev->dev, "failed to get I/O memory\n");
|
|
@@ -757,6 +755,8 @@ static int sh_cmt_setup(struct sh_cmt_priv *p, struct platform_device *pdev)
|
|
|
goto err2;
|
|
|
}
|
|
|
|
|
|
+ platform_set_drvdata(pdev, p);
|
|
|
+
|
|
|
return 0;
|
|
|
err2:
|
|
|
clk_put(p->clk);
|
|
@@ -792,7 +792,6 @@ static int sh_cmt_probe(struct platform_device *pdev)
|
|
|
ret = sh_cmt_setup(p, pdev);
|
|
|
if (ret) {
|
|
|
kfree(p);
|
|
|
- platform_set_drvdata(pdev, NULL);
|
|
|
pm_runtime_idle(&pdev->dev);
|
|
|
return ret;
|
|
|
}
|