diff options
author | J. German Rivera <German.Rivera@freescale.com> | 2015-10-17 18:18:21 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-18 05:53:38 +0200 |
commit | 09a38ab0b1a67e85b11d363dedc1f5de3d0e17e8 (patch) | |
tree | d5604f7ea94ae1e7d4651add0d45c630c722c5e8 | |
parent | staging: fsl-mc: Fixed bug in fsl_mc_allocator_remove (diff) | |
download | linux-09a38ab0b1a67e85b11d363dedc1f5de3d0e17e8.tar.xz linux-09a38ab0b1a67e85b11d363dedc1f5de3d0e17e8.zip |
staging: fsl-mc: refactored error exit in allocator probe/remove
Replaced error gotos with direct returns in fsl_mc_allocator_probe()
and fsl_mc_allocator_remove(), since the only error handling done
in those functions is to exit.
Signed-off-by: J. German Rivera <German.Rivera@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/fsl-mc/bus/mc-allocator.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/drivers/staging/fsl-mc/bus/mc-allocator.c b/drivers/staging/fsl-mc/bus/mc-allocator.c index e9c3dec201cb..a45293bfce5a 100644 --- a/drivers/staging/fsl-mc/bus/mc-allocator.c +++ b/drivers/staging/fsl-mc/bus/mc-allocator.c @@ -474,30 +474,27 @@ static int fsl_mc_allocator_probe(struct fsl_mc_device *mc_dev) enum fsl_mc_pool_type pool_type; struct fsl_mc_device *mc_bus_dev; struct fsl_mc_bus *mc_bus; - int error = -EINVAL; + int error; if (WARN_ON(!FSL_MC_IS_ALLOCATABLE(mc_dev->obj_desc.type))) - goto error; + return -EINVAL; mc_bus_dev = to_fsl_mc_device(mc_dev->dev.parent); if (WARN_ON(mc_bus_dev->dev.bus != &fsl_mc_bus_type)) - goto error; + return -EINVAL; mc_bus = to_fsl_mc_bus(mc_bus_dev); error = object_type_to_pool_type(mc_dev->obj_desc.type, &pool_type); if (error < 0) - goto error; + return error; error = fsl_mc_resource_pool_add_device(mc_bus, pool_type, mc_dev); if (error < 0) - goto error; + return error; dev_dbg(&mc_dev->dev, "Allocatable MC object device bound to fsl_mc_allocator driver"); return 0; -error: - - return error; } /** @@ -506,22 +503,20 @@ error: */ static int fsl_mc_allocator_remove(struct fsl_mc_device *mc_dev) { - int error = -EINVAL; + int error; if (WARN_ON(!FSL_MC_IS_ALLOCATABLE(mc_dev->obj_desc.type))) - goto out; + return -EINVAL; if (mc_dev->resource) { error = fsl_mc_resource_pool_remove_device(mc_dev); if (error < 0) - goto out; + return error; } dev_dbg(&mc_dev->dev, "Allocatable MC object device unbound from fsl_mc_allocator driver"); - error = 0; -out: - return error; + return 0; } static const struct fsl_mc_device_match_id match_id_table[] = { |