Commit 2c7f83ca authored by stephen hemminger's avatar stephen hemminger Committed by David S. Miller

netvsc: don't pass void * to internal device_add

All the caller's/callee's know that the format of the device_add
parameter is a netvsc_device_info struct.
Signed-off-by: default avatarStephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dc54a08c
...@@ -178,7 +178,8 @@ struct rndis_device { ...@@ -178,7 +178,8 @@ struct rndis_device {
/* Interface */ /* Interface */
struct rndis_message; struct rndis_message;
struct netvsc_device; struct netvsc_device;
int netvsc_device_add(struct hv_device *device, void *additional_info); int netvsc_device_add(struct hv_device *device,
const struct netvsc_device_info *info);
void netvsc_device_remove(struct hv_device *device); void netvsc_device_remove(struct hv_device *device);
int netvsc_send(struct hv_device *device, int netvsc_send(struct hv_device *device,
struct hv_netvsc_packet *packet, struct hv_netvsc_packet *packet,
...@@ -196,7 +197,7 @@ void netvsc_channel_cb(void *context); ...@@ -196,7 +197,7 @@ void netvsc_channel_cb(void *context);
int rndis_filter_open(struct netvsc_device *nvdev); int rndis_filter_open(struct netvsc_device *nvdev);
int rndis_filter_close(struct netvsc_device *nvdev); int rndis_filter_close(struct netvsc_device *nvdev);
int rndis_filter_device_add(struct hv_device *dev, int rndis_filter_device_add(struct hv_device *dev,
void *additional_info); struct netvsc_device_info *info);
void rndis_filter_device_remove(struct hv_device *dev); void rndis_filter_device_remove(struct hv_device *dev);
int rndis_filter_set_rss_param(struct rndis_device *rdev, int rndis_filter_set_rss_param(struct rndis_device *rdev,
const u8 *key, int num_queue); const u8 *key, int num_queue);
......
...@@ -1283,11 +1283,11 @@ void netvsc_channel_cb(void *context) ...@@ -1283,11 +1283,11 @@ void netvsc_channel_cb(void *context)
* netvsc_device_add - Callback when the device belonging to this * netvsc_device_add - Callback when the device belonging to this
* driver is added * driver is added
*/ */
int netvsc_device_add(struct hv_device *device, void *additional_info) int netvsc_device_add(struct hv_device *device,
const struct netvsc_device_info *device_info)
{ {
int i, ret = 0; int i, ret = 0;
int ring_size = int ring_size = device_info->ring_size;
((struct netvsc_device_info *)additional_info)->ring_size;
struct netvsc_device *net_device; struct netvsc_device *net_device;
struct net_device *ndev = hv_get_drvdata(device); struct net_device *ndev = hv_get_drvdata(device);
struct net_device_context *net_device_ctx = netdev_priv(ndev); struct net_device_context *net_device_ctx = netdev_priv(ndev);
......
...@@ -1005,13 +1005,12 @@ static void netvsc_sc_open(struct vmbus_channel *new_sc) ...@@ -1005,13 +1005,12 @@ static void netvsc_sc_open(struct vmbus_channel *new_sc)
} }
int rndis_filter_device_add(struct hv_device *dev, int rndis_filter_device_add(struct hv_device *dev,
void *additional_info) struct netvsc_device_info *device_info)
{ {
struct net_device *net = hv_get_drvdata(dev); struct net_device *net = hv_get_drvdata(dev);
struct net_device_context *net_device_ctx = netdev_priv(net); struct net_device_context *net_device_ctx = netdev_priv(net);
struct netvsc_device *net_device; struct netvsc_device *net_device;
struct rndis_device *rndis_device; struct rndis_device *rndis_device;
struct netvsc_device_info *device_info = additional_info;
struct ndis_offload hwcaps; struct ndis_offload hwcaps;
struct ndis_offload_params offloads; struct ndis_offload_params offloads;
struct nvsp_message *init_packet; struct nvsp_message *init_packet;
...@@ -1035,7 +1034,7 @@ int rndis_filter_device_add(struct hv_device *dev, ...@@ -1035,7 +1034,7 @@ int rndis_filter_device_add(struct hv_device *dev,
* NOTE! Once the channel is created, we may get a receive callback * NOTE! Once the channel is created, we may get a receive callback
* (RndisFilterOnReceive()) before this call is completed * (RndisFilterOnReceive()) before this call is completed
*/ */
ret = netvsc_device_add(dev, additional_info); ret = netvsc_device_add(dev, device_info);
if (ret != 0) { if (ret != 0) {
kfree(rndis_device); kfree(rndis_device);
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment