}
};
-static int netvsc_device_add(struct hv_device *device, void *additional_info);
-
-static int netvsc_device_remove(struct hv_device *device);
-
-static void netvsc_cleanup(struct hv_driver *driver);
-
static void netvsc_channel_cb(void *context);
static int netvsc_init_send_buf(struct hv_device *device);
static void netvsc_send_completion(struct hv_device *device,
struct vmpacket_descriptor *packet);
-static int netvsc_send(struct hv_device *device,
- struct hv_netvsc_packet *packet);
-
static void netvsc_receive(struct hv_device *device,
struct vmpacket_descriptor *packet);
return net_device;
}
-/*
- * netvsc_initialize - Main entry point
- */
-int netvsc_initialize(struct hv_driver *drv)
-{
- struct netvsc_driver *driver = (struct netvsc_driver *)drv;
-
- drv->name = driver_name;
- memcpy(&drv->dev_type, &netvsc_device_type, sizeof(struct hv_guid));
-
- /* Setup the dispatch table */
- driver->base.dev_add = netvsc_device_add;
- driver->base.dev_rm = netvsc_device_remove;
- driver->base.cleanup = netvsc_cleanup;
-
- driver->send = netvsc_send;
-
- rndis_filter_init(driver);
- return 0;
-}
-
static int netvsc_init_recv_buf(struct hv_device *device)
{
int ret = 0;
kfree(buffer);
return;
}
+
+/*
+ * netvsc_initialize - Main entry point
+ */
+int netvsc_initialize(struct hv_driver *drv)
+{
+ struct netvsc_driver *driver = (struct netvsc_driver *)drv;
+
+ drv->name = driver_name;
+ memcpy(&drv->dev_type, &netvsc_device_type, sizeof(struct hv_guid));
+
+ /* Setup the dispatch table */
+ driver->base.dev_add = netvsc_device_add;
+ driver->base.dev_rm = netvsc_device_remove;
+ driver->base.cleanup = netvsc_cleanup;
+
+ driver->send = netvsc_send;
+
+ rndis_filter_init(driver);
+ return 0;
+}