diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2013-06-29 08:27:51 +0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2013-08-16 12:59:43 +0800 |
commit | b2d1fb7332f2bb8c0630f224d8e2151c0e157004 (patch) | |
tree | 39d75450cf65217e58d12366e975af87b6af368e /drivers/bus/imx-weim.c | |
parent | 70ac98da780f7085d8c5f0e89bd0438a7f286d20 (diff) | |
download | lwn-b2d1fb7332f2bb8c0630f224d8e2151c0e157004.tar.gz lwn-b2d1fb7332f2bb8c0630f224d8e2151c0e157004.zip |
drivers: bus: imx-weim: Simplify error path
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'drivers/bus/imx-weim.c')
-rw-r--r-- | drivers/bus/imx-weim.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/drivers/bus/imx-weim.c b/drivers/bus/imx-weim.c index 0c0e6fea129f..0f4b08112afb 100644 --- a/drivers/bus/imx-weim.c +++ b/drivers/bus/imx-weim.c @@ -78,36 +78,30 @@ static int weim_probe(struct platform_device *pdev) 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; } |