浏览代码

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: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
stephen hemminger 8 年之前
父节点
当前提交
2c7f83ca71
共有 3 个文件被更改,包括 8 次插入8 次删除
  1. 3 2
      drivers/net/hyperv/hyperv_net.h
  2. 3 3
      drivers/net/hyperv/netvsc.c
  3. 2 3
      drivers/net/hyperv/rndis_filter.c

+ 3 - 2
drivers/net/hyperv/hyperv_net.h

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

+ 3 - 3
drivers/net/hyperv/netvsc.c

@@ -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 =
-	((struct netvsc_device_info *)additional_info)->ring_size;
+	int ring_size = device_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);

+ 2 - 3
drivers/net/hyperv/rndis_filter.c

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