]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/clocksource/sh_cmt.c
clocksource: sh_cmt: Consolidate platform_set_drvdata() call
[karo-tx-linux.git] / drivers / clocksource / sh_cmt.c
index 94fd3abd64342960d65e2dac5f90a579a9ee48bb..a2f8023a846b6c6597e83fdbecdd9b06a53bd09c 100644 (file)
@@ -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;
        }