struct resource *res;
struct clk *clk;
void __iomem *base;
- int ret = -EINVAL;
+ int ret;
/* get the resource */
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
base = devm_ioremap_resource(&pdev->dev, res);
- if (IS_ERR(base)) {
- ret = PTR_ERR(base);
- goto weim_err;
- }
+ if (IS_ERR(base))
+ return PTR_ERR(base);
/* get the clock */
clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(clk))
- goto weim_err;
+ return PTR_ERR(clk);
ret = clk_prepare_enable(clk);
if (ret)
- goto weim_err;
+ return ret;
/* parse the device node */
ret = weim_parse_dt(pdev, base);
- if (ret) {
+ if (ret)
clk_disable_unprepare(clk);
- goto weim_err;
- }
-
- dev_info(&pdev->dev, "WEIM driver registered.\n");
- return 0;
+ else
+ dev_info(&pdev->dev, "Driver registered.\n");
-weim_err:
return ret;
}