diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2011-03-07 16:35:48 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-03-07 17:22:31 -0500 |
commit | 6bad88dac0e648c6978a02c6afb0dc2f4fa484bb (patch) | |
tree | d72ee69bd83396835a0052a3239be7a4f5631a5e /drivers/staging/hv/netvsc_drv.c | |
parent | d5889771a4acd321ad6f1242b3186cf4a47d7d55 (diff) |
Staging: hv: Remove the vm_device structure
Consolidate all device related state in struct hv_device by
moving the device field from struct vm_device to
struct hv_device. As part of this, also get rid of struct
vm_device since the consolidation is complete.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/hv/netvsc_drv.c')
-rw-r--r-- | drivers/staging/hv/netvsc_drv.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/drivers/staging/hv/netvsc_drv.c b/drivers/staging/hv/netvsc_drv.c index f0d258cc583..2d40f5f86b2 100644 --- a/drivers/staging/hv/netvsc_drv.c +++ b/drivers/staging/hv/netvsc_drv.c | |||
@@ -44,7 +44,7 @@ | |||
44 | 44 | ||
45 | struct net_device_context { | 45 | struct net_device_context { |
46 | /* point back to our device context */ | 46 | /* point back to our device context */ |
47 | struct vm_device *device_ctx; | 47 | struct hv_device *device_ctx; |
48 | unsigned long avail; | 48 | unsigned long avail; |
49 | }; | 49 | }; |
50 | 50 | ||
@@ -70,7 +70,7 @@ static void netvsc_set_multicast_list(struct net_device *net) | |||
70 | static int netvsc_open(struct net_device *net) | 70 | static int netvsc_open(struct net_device *net) |
71 | { | 71 | { |
72 | struct net_device_context *net_device_ctx = netdev_priv(net); | 72 | struct net_device_context *net_device_ctx = netdev_priv(net); |
73 | struct hv_device *device_obj = &net_device_ctx->device_ctx->device_obj; | 73 | struct hv_device *device_obj = net_device_ctx->device_ctx; |
74 | int ret = 0; | 74 | int ret = 0; |
75 | 75 | ||
76 | if (netif_carrier_ok(net)) { | 76 | if (netif_carrier_ok(net)) { |
@@ -93,7 +93,7 @@ static int netvsc_open(struct net_device *net) | |||
93 | static int netvsc_close(struct net_device *net) | 93 | static int netvsc_close(struct net_device *net) |
94 | { | 94 | { |
95 | struct net_device_context *net_device_ctx = netdev_priv(net); | 95 | struct net_device_context *net_device_ctx = netdev_priv(net); |
96 | struct hv_device *device_obj = &net_device_ctx->device_ctx->device_obj; | 96 | struct hv_device *device_obj = net_device_ctx->device_ctx; |
97 | int ret; | 97 | int ret; |
98 | 98 | ||
99 | netif_stop_queue(net); | 99 | netif_stop_queue(net); |
@@ -190,7 +190,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) | |||
190 | packet->completion.send.send_completion_ctx = packet; | 190 | packet->completion.send.send_completion_ctx = packet; |
191 | packet->completion.send.send_completion_tid = (unsigned long)skb; | 191 | packet->completion.send.send_completion_tid = (unsigned long)skb; |
192 | 192 | ||
193 | ret = net_drv_obj->send(&net_device_ctx->device_ctx->device_obj, | 193 | ret = net_drv_obj->send(net_device_ctx->device_ctx, |
194 | packet); | 194 | packet); |
195 | if (ret == 0) { | 195 | if (ret == 0) { |
196 | net->stats.tx_bytes += skb->len; | 196 | net->stats.tx_bytes += skb->len; |
@@ -218,8 +218,7 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) | |||
218 | static void netvsc_linkstatus_callback(struct hv_device *device_obj, | 218 | static void netvsc_linkstatus_callback(struct hv_device *device_obj, |
219 | unsigned int status) | 219 | unsigned int status) |
220 | { | 220 | { |
221 | struct vm_device *device_ctx = to_vm_device(device_obj); | 221 | struct net_device *net = dev_get_drvdata(&device_obj->device); |
222 | struct net_device *net = dev_get_drvdata(&device_ctx->device); | ||
223 | 222 | ||
224 | if (!net) { | 223 | if (!net) { |
225 | DPRINT_ERR(NETVSC_DRV, "got link status but net device " | 224 | DPRINT_ERR(NETVSC_DRV, "got link status but net device " |
@@ -244,8 +243,7 @@ static void netvsc_linkstatus_callback(struct hv_device *device_obj, | |||
244 | static int netvsc_recv_callback(struct hv_device *device_obj, | 243 | static int netvsc_recv_callback(struct hv_device *device_obj, |
245 | struct hv_netvsc_packet *packet) | 244 | struct hv_netvsc_packet *packet) |
246 | { | 245 | { |
247 | struct vm_device *device_ctx = to_vm_device(device_obj); | 246 | struct net_device *net = dev_get_drvdata(&device_obj->device); |
248 | struct net_device *net = dev_get_drvdata(&device_ctx->device); | ||
249 | struct sk_buff *skb; | 247 | struct sk_buff *skb; |
250 | void *data; | 248 | void *data; |
251 | int i; | 249 | int i; |
@@ -335,8 +333,7 @@ static int netvsc_probe(struct device *device) | |||
335 | struct hv_driver *drv = | 333 | struct hv_driver *drv = |
336 | drv_to_hv_drv(device->driver); | 334 | drv_to_hv_drv(device->driver); |
337 | struct netvsc_driver *net_drv_obj = drv->priv; | 335 | struct netvsc_driver *net_drv_obj = drv->priv; |
338 | struct vm_device *device_ctx = device_to_vm_device(device); | 336 | struct hv_device *device_obj = device_to_hv_device(device); |
339 | struct hv_device *device_obj = &device_ctx->device_obj; | ||
340 | struct net_device *net = NULL; | 337 | struct net_device *net = NULL; |
341 | struct net_device_context *net_device_ctx; | 338 | struct net_device_context *net_device_ctx; |
342 | struct netvsc_device_info device_info; | 339 | struct netvsc_device_info device_info; |
@@ -353,7 +350,7 @@ static int netvsc_probe(struct device *device) | |||
353 | netif_carrier_off(net); | 350 | netif_carrier_off(net); |
354 | 351 | ||
355 | net_device_ctx = netdev_priv(net); | 352 | net_device_ctx = netdev_priv(net); |
356 | net_device_ctx->device_ctx = device_ctx; | 353 | net_device_ctx->device_ctx = device_obj; |
357 | net_device_ctx->avail = ring_size; | 354 | net_device_ctx->avail = ring_size; |
358 | dev_set_drvdata(device, net); | 355 | dev_set_drvdata(device, net); |
359 | 356 | ||
@@ -405,9 +402,8 @@ static int netvsc_remove(struct device *device) | |||
405 | struct hv_driver *drv = | 402 | struct hv_driver *drv = |
406 | drv_to_hv_drv(device->driver); | 403 | drv_to_hv_drv(device->driver); |
407 | struct netvsc_driver *net_drv_obj = drv->priv; | 404 | struct netvsc_driver *net_drv_obj = drv->priv; |
408 | struct vm_device *device_ctx = device_to_vm_device(device); | 405 | struct hv_device *device_obj = device_to_hv_device(device); |
409 | struct net_device *net = dev_get_drvdata(&device_ctx->device); | 406 | struct net_device *net = dev_get_drvdata(&device_obj->device); |
410 | struct hv_device *device_obj = &device_ctx->device_obj; | ||
411 | int ret; | 407 | int ret; |
412 | 408 | ||
413 | if (net == NULL) { | 409 | if (net == NULL) { |