aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dss.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-01-25 13:31:04 +0200
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-02-21 09:39:12 +0200
commitcd3b34493f9b5de1d617e0be39f6cb5c59c9889c (patch)
treef26a0b7c01a43eeeb9ec4c355e424b17c9e18153 /drivers/video/omap2/dss/dss.c
parentMerge commit 'v3.3-rc4' (diff)
downloadlinux-dev-cd3b34493f9b5de1d617e0be39f6cb5c59c9889c.tar.xz
linux-dev-cd3b34493f9b5de1d617e0be39f6cb5c59c9889c.zip
OMAPDSS: cleanup probe functions
Now that dss is using devm_ functions for allocation in probe functions, small reordering of the allocations allows us to clean up the probe functions more. This patch moves "unmanaged" allocations after the managed ones, and uses plain returns instead of gotos where possible. This lets us remove a bunch of goto labels, simplifying the probe's error handling. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/dss.c')
-rw-r--r--drivers/video/omap2/dss/dss.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index aa2e08968649..4a6b5eeef6a7 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -748,20 +748,19 @@ static int omap_dsshw_probe(struct platform_device *pdev)
dss_mem = platform_get_resource(dss.pdev, IORESOURCE_MEM, 0);
if (!dss_mem) {
DSSERR("can't get IORESOURCE_MEM DSS\n");
- r = -EINVAL;
- goto err_ioremap;
+ return -EINVAL;
}
+
dss.base = devm_ioremap(&pdev->dev, dss_mem->start,
resource_size(dss_mem));
if (!dss.base) {
DSSERR("can't ioremap DSS\n");
- r = -ENOMEM;
- goto err_ioremap;
+ return -ENOMEM;
}
r = dss_get_clocks();
if (r)
- goto err_ioremap;
+ return r;
pm_runtime_enable(&pdev->dev);
@@ -809,7 +808,6 @@ err_dpi:
err_runtime_get:
pm_runtime_disable(&pdev->dev);
dss_put_clocks();
-err_ioremap:
return r;
}