dect
/
linux-2.6
Archived
13
0
Fork 0

Staging: hv: remove function pointer typedefs from vmbus.h

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>
This commit is contained in:
Greg Kroah-Hartman 2009-09-02 11:53:59 -07:00
parent 7903506975
commit 21707bed7e
5 changed files with 8 additions and 12 deletions

View File

@ -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;
@ -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,

View File

@ -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;
@ -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,

View File

@ -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;
@ -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",

View File

@ -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;

View File

@ -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;
@ -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;