|
@@ -475,9 +475,16 @@ static int sh_tmu_setup(struct sh_tmu_priv *p, struct platform_device *pdev)
|
|
|
p->cs_enabled = false;
|
|
|
p->enable_count = 0;
|
|
|
|
|
|
- return sh_tmu_register(p, (char *)dev_name(&p->pdev->dev),
|
|
|
- cfg->clockevent_rating,
|
|
|
- cfg->clocksource_rating);
|
|
|
+ ret = sh_tmu_register(p, (char *)dev_name(&p->pdev->dev),
|
|
|
+ cfg->clockevent_rating,
|
|
|
+ cfg->clocksource_rating);
|
|
|
+ if (ret < 0)
|
|
|
+ goto err2;
|
|
|
+
|
|
|
+ return 0;
|
|
|
+
|
|
|
+ err2:
|
|
|
+ clk_put(p->clk);
|
|
|
err1:
|
|
|
iounmap(p->mapbase);
|
|
|
err0:
|