staging: unisys: visorbus: Remove gotos in visorbus_match

Gotos in visorbus_match are not needed.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Signed-off-by: Timothy Sell <timothy.sell@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
David Kershner 2016-03-12 21:27:11 -05:00 committed by Greg Kroah-Hartman
parent 78af1aef66
commit 8e33f48c95
1 changed files with 10 additions and 14 deletions

View File

@ -182,7 +182,6 @@ static int
visorbus_match(struct device *xdev, struct device_driver *xdrv)
{
uuid_le channel_type;
int rc = 0;
int i;
struct visor_device *dev;
struct visor_driver *drv;
@ -190,26 +189,23 @@ visorbus_match(struct device *xdev, struct device_driver *xdrv)
dev = to_visor_device(xdev);
drv = to_visor_driver(xdrv);
channel_type = visorchannel_get_uuid(dev->visorchannel);
if (visorbus_forcematch) {
rc = 1;
goto away;
}
if (visorbus_forcenomatch)
goto away;
if (visorbus_forcematch)
return 1;
if (visorbus_forcenomatch)
return 0;
if (!drv->channel_types)
goto away;
return 0;
for (i = 0;
(uuid_le_cmp(drv->channel_types[i].guid, NULL_UUID_LE) != 0) ||
(drv->channel_types[i].name);
i++)
if (uuid_le_cmp(drv->channel_types[i].guid,
channel_type) == 0) {
rc = i + 1;
goto away;
}
away:
return rc;
channel_type) == 0)
return i + 1;
return 0;
}
/** This is called when device_unregister() is called for the bus device