Staging: hv: remove unneeded OnClose callback
authorGreg Kroah-Hartman <gregkh@suse.de>
Fri, 8 Jan 2010 18:25:01 +0000 (10:25 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 4 Mar 2010 00:42:36 +0000 (16:42 -0800)
This callback only calls one function, so just call the function
instead, no need for indirection at all.

Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/hv/NetVscApi.h
drivers/staging/hv/RndisFilter.c
drivers/staging/hv/netvsc_drv.c

index 93b9226..95d7a32 100644 (file)
@@ -105,7 +105,6 @@ struct netvsc_driver {
        void (*OnLinkStatusChanged)(struct hv_device *dev, u32 Status);
 
        /* Specific to this driver */
-       int (*OnClose)(struct hv_device *dev);
        int (*OnSend)(struct hv_device *dev, struct hv_netvsc_packet *packet);
 
        void *Context;
@@ -119,5 +118,6 @@ struct netvsc_device_info {
 /* Interface */
 int NetVscInitialize(struct hv_driver *drv);
 int RndisFilterOnOpen(struct hv_device *Device);
+int RndisFilterOnClose(struct hv_device *Device);
 
 #endif /* _NETVSC_API_H_ */
index 74f741e..1ab7fa9 100644 (file)
@@ -85,8 +85,6 @@ static int RndisFilterOnDeviceRemove(struct hv_device *Device);
 
 static void RndisFilterOnCleanup(struct hv_driver *Driver);
 
-static int RndisFilterOnClose(struct hv_device *Device);
-
 static int RndisFilterOnSend(struct hv_device *Device,
                             struct hv_netvsc_packet *Packet);
 
@@ -652,7 +650,6 @@ int RndisFilterInit(struct netvsc_driver *Driver)
        Driver->Base.OnDeviceRemove = RndisFilterOnDeviceRemove;
        Driver->Base.OnCleanup = RndisFilterOnCleanup;
        Driver->OnSend = RndisFilterOnSend;
-       Driver->OnClose = RndisFilterOnClose;
        /* Driver->QueryLinkStatus = RndisFilterQueryDeviceLinkStatus; */
        Driver->OnReceiveCallback = RndisFilterOnReceive;
 
@@ -900,7 +897,7 @@ int RndisFilterOnOpen(struct hv_device *Device)
        return ret;
 }
 
-static int RndisFilterOnClose(struct hv_device *Device)
+int RndisFilterOnClose(struct hv_device *Device)
 {
        int ret;
        struct netvsc_device *netDevice = Device->Extension;
index 515cd23..3234a7c 100644 (file)
@@ -101,11 +101,6 @@ static int netvsc_open(struct net_device *net)
 static int netvsc_close(struct net_device *net)
 {
        struct net_device_context *net_device_ctx = netdev_priv(net);
-       struct driver_context *driver_ctx =
-           driver_to_driver_context(net_device_ctx->device_ctx->device.driver);
-       struct netvsc_driver_context *net_drv_ctx =
-               (struct netvsc_driver_context *)driver_ctx;
-       struct netvsc_driver *net_drv_obj = &net_drv_ctx->drv_obj;
        struct hv_device *device_obj = &net_device_ctx->device_ctx->device_obj;
        int ret;
 
@@ -113,7 +108,7 @@ static int netvsc_close(struct net_device *net)
 
        netif_stop_queue(net);
 
-       ret = net_drv_obj->OnClose(device_obj);
+       ret = RndisFilterOnClose(device_obj);
        if (ret != 0)
                DPRINT_ERR(NETVSC_DRV, "unable to close device (ret %d).", ret);