Skip to content

Commit

Permalink
Staging: hv: remove function pointer typedefs from vmbus.h
Browse files Browse the repository at this point in the history
It's amazing the hoops that people go through to make code work
when they don't opensource the whole thing.  Passing these types
of function pointers around for no good reason is a mess, this needs
to be unwound as everything is now in the open.

Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Greg Kroah-Hartman committed Sep 15, 2009
1 parent 7903506 commit 21707be
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 12 deletions.
4 changes: 2 additions & 2 deletions drivers/staging/hv/blkvsc_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ static struct block_device_operations block_ops = {
/**
* blkvsc_drv_init - BlkVsc driver initialization.
*/
static int blkvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init)
static int blkvsc_drv_init(int (*drv_init)(struct hv_driver *drv))
{
struct storvsc_driver_object *storvsc_drv_obj = &g_blkvsc_drv.drv_obj;
struct driver_context *drv_ctx = &g_blkvsc_drv.drv_ctx;
Expand All @@ -178,7 +178,7 @@ static int blkvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init)
storvsc_drv_obj->RingBufferSize = blkvsc_ringbuffer_size;

/* Callback to client driver to complete the initialization */
pfn_drv_init(&storvsc_drv_obj->Base);
drv_init(&storvsc_drv_obj->Base);

drv_ctx->driver.name = storvsc_drv_obj->Base.name;
memcpy(&drv_ctx->class_id, &storvsc_drv_obj->Base.deviceType,
Expand Down
4 changes: 2 additions & 2 deletions drivers/staging/hv/netvsc_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ static void netvsc_drv_exit(void)
return;
}

static int netvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init)
static int netvsc_drv_init(int (*drv_init)(struct hv_driver *drv))
{
struct netvsc_driver *net_drv_obj = &g_netvsc_drv.drv_obj;
struct driver_context *drv_ctx = &g_netvsc_drv.drv_ctx;
Expand All @@ -574,7 +574,7 @@ static int netvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init)
net_drv_obj->OnLinkStatusChanged = netvsc_linkstatus_callback;

/* Callback to client driver to complete the initialization */
pfn_drv_init(&net_drv_obj->Base);
drv_init(&net_drv_obj->Base);

drv_ctx->driver.name = net_drv_obj->Base.name;
memcpy(&drv_ctx->class_id, &net_drv_obj->Base.deviceType,
Expand Down
4 changes: 2 additions & 2 deletions drivers/staging/hv/storvsc_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ static struct scsi_host_template scsi_driver = {
/**
* storvsc_drv_init - StorVsc driver initialization.
*/
static int storvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init)
static int storvsc_drv_init(int (*drv_init)(struct hv_driver *drv))
{
int ret;
struct storvsc_driver_object *storvsc_drv_obj = &g_storvsc_drv.drv_obj;
Expand All @@ -151,7 +151,7 @@ static int storvsc_drv_init(PFN_DRIVERINITIALIZE pfn_drv_init)
storvsc_drv_obj->OnHostRescan = storvsc_host_rescan;

/* Callback to client driver to complete the initialization */
pfn_drv_init(&storvsc_drv_obj->Base);
drv_init(&storvsc_drv_obj->Base);

DPRINT_INFO(STORVSC_DRV,
"request extension size %u, max outstanding reqs %u",
Expand Down
4 changes: 0 additions & 4 deletions drivers/staging/hv/vmbus.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,8 @@
#define _VMBUS_H_

#include <linux/device.h>

#include "VmbusApi.h"

typedef int (*PFN_DRIVERINITIALIZE)(struct hv_driver *drv);
typedef int (*PFN_DRIVEREXIT)(struct hv_driver *drv);

struct driver_context {
struct hv_guid class_id;

Expand Down
4 changes: 2 additions & 2 deletions drivers/staging/hv/vmbus_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ static ssize_t vmbus_show_device_attr(struct device *dev,
* - setup the vmbus root device
* - retrieve the channel offers
*/
static int vmbus_bus_init(PFN_DRIVERINITIALIZE pfn_drv_init)
static int vmbus_bus_init(int (*drv_init)(struct hv_driver *drv))
{
struct vmbus_driver_context *vmbus_drv_ctx = &g_vmbus_drv;
struct vmbus_driver *vmbus_drv_obj = &g_vmbus_drv.drv_obj;
Expand All @@ -261,7 +261,7 @@ static int vmbus_bus_init(PFN_DRIVERINITIALIZE pfn_drv_init)
vmbus_drv_obj->OnChildDeviceRemove = vmbus_child_device_unregister;

/* Call to bus driver to initialize */
ret = pfn_drv_init(&vmbus_drv_obj->Base);
ret = drv_init(&vmbus_drv_obj->Base);
if (ret != 0) {
DPRINT_ERR(VMBUS_DRV, "Unable to initialize vmbus (%d)", ret);
goto cleanup;
Expand Down

0 comments on commit 21707be

Please sign in to comment.