staging: unisys: visorbus: simplify visorchannel_create_guts

Removing the two wrapper functions dealing with visorchannel_create() and
instead just always use a new version of visorchannel_create() with an
additional parameter.

Signed-off-by: Sameer Wadgaonkar <sameer.wadgaonkar@unisys.com>
Signed-off-by: David Kershner <david.kershner@unisys.com>
Reviewed-by: Tim Sell <timothy.sell@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Sameer Wadgaonkar 2017-09-27 13:14:44 -04:00 committed by Greg Kroah-Hartman
parent cb3b5dccca
commit 90476670ab
3 changed files with 14 additions and 28 deletions

View File

@ -39,9 +39,7 @@ void visorbus_exit(void);
/* visorchannel access functions */ /* visorchannel access functions */
struct visorchannel *visorchannel_create(u64 physaddr, gfp_t gfp, struct visorchannel *visorchannel_create(u64 physaddr, gfp_t gfp,
const guid_t *guid); const guid_t *guid, bool needs_lock);
struct visorchannel *visorchannel_create_with_lock(u64 physaddr, gfp_t gfp,
const guid_t *guid);
void visorchannel_destroy(struct visorchannel *channel); void visorchannel_destroy(struct visorchannel *channel);
int visorchannel_read(struct visorchannel *channel, ulong offset, int visorchannel_read(struct visorchannel *channel, ulong offset,
void *dest, ulong nbytes); void *dest, ulong nbytes);

View File

@ -342,9 +342,9 @@ static int signalinsert_inner(struct visorchannel *channel, u32 queue,
} }
/* /*
* visorchannel_create_guts() - creates the struct visorchannel abstraction for * visorchannel_create() - creates the struct visorchannel abstraction for a
* a data area in memory, but does NOT modify this * data area in memory, but does NOT modify this data
* data area * area
* @physaddr: physical address of start of channel * @physaddr: physical address of start of channel
* @gfp: gfp_t to use when allocating memory for the data struct * @gfp: gfp_t to use when allocating memory for the data struct
* @guid: GUID that identifies channel type; * @guid: GUID that identifies channel type;
@ -355,9 +355,8 @@ static int signalinsert_inner(struct visorchannel *channel, u32 queue,
* Return: pointer to visorchannel that was created if successful, * Return: pointer to visorchannel that was created if successful,
* otherwise NULL * otherwise NULL
*/ */
static struct visorchannel *visorchannel_create_guts(u64 physaddr, gfp_t gfp, struct visorchannel *visorchannel_create(u64 physaddr, gfp_t gfp,
const guid_t *guid, const guid_t *guid, bool needs_lock)
bool needs_lock)
{ {
struct visorchannel *channel; struct visorchannel *channel;
int err; int err;
@ -416,18 +415,6 @@ err_destroy_channel:
return NULL; return NULL;
} }
struct visorchannel *visorchannel_create(u64 physaddr, gfp_t gfp,
const guid_t *guid)
{
return visorchannel_create_guts(physaddr, gfp, guid, false);
}
struct visorchannel *visorchannel_create_with_lock(u64 physaddr, gfp_t gfp,
const guid_t *guid)
{
return visorchannel_create_guts(physaddr, gfp, guid, true);
}
/** /**
* visorchannel_signalinsert() - inserts a message into the designated * visorchannel_signalinsert() - inserts a message into the designated
* channel/queue * channel/queue

View File

@ -494,7 +494,8 @@ static int visorbus_create(struct controlvm_message *inmsg)
} }
visorchannel = visorchannel_create(cmd->create_bus.channel_addr, visorchannel = visorchannel_create(cmd->create_bus.channel_addr,
GFP_KERNEL, GFP_KERNEL,
&cmd->create_bus.bus_data_type_guid); &cmd->create_bus.bus_data_type_guid,
false);
if (!visorchannel) { if (!visorchannel) {
err = -ENOMEM; err = -ENOMEM;
goto err_free_pending_msg; goto err_free_pending_msg;
@ -681,10 +682,10 @@ static int visorbus_device_create(struct controlvm_message *inmsg)
dev_info->chipset_dev_no = dev_no; dev_info->chipset_dev_no = dev_no;
guid_copy(&dev_info->inst, &cmd->create_device.dev_inst_guid); guid_copy(&dev_info->inst, &cmd->create_device.dev_inst_guid);
dev_info->device.parent = &bus_info->device; dev_info->device.parent = &bus_info->device;
visorchannel = visorchannel = visorchannel_create(cmd->create_device.channel_addr,
visorchannel_create_with_lock(cmd->create_device.channel_addr, GFP_KERNEL,
GFP_KERNEL, &cmd->create_device.data_type_guid,
&cmd->create_device.data_type_guid); true);
if (!visorchannel) { if (!visorchannel) {
dev_err(&chipset_dev->acpi_device->dev, dev_err(&chipset_dev->acpi_device->dev,
"failed to create visorchannel: %d/%d\n", "failed to create visorchannel: %d/%d\n",
@ -1203,8 +1204,8 @@ static int controlvm_channel_create(struct visorchipset_device *dev)
if (err) if (err)
return err; return err;
addr = dev->controlvm_params.address; addr = dev->controlvm_params.address;
chan = visorchannel_create_with_lock(addr, GFP_KERNEL, chan = visorchannel_create(addr, GFP_KERNEL,
&visor_controlvm_channel_guid); &visor_controlvm_channel_guid, true);
if (!chan) if (!chan)
return -ENOMEM; return -ENOMEM;
dev->controlvm_channel = chan; dev->controlvm_channel = chan;