diff options
author | Jon Mason <jon.mason@exar.com> | 2010-11-10 23:26:03 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-11-11 12:30:24 -0500 |
commit | 2c91308f449c6705b81bd3370a0ec647e370f35c (patch) | |
tree | aa7939b5e6727201aacab0f6edc592ce1479beff /drivers/net/vxge/vxge-ethtool.c | |
parent | 1901d042abf10d08a829961a63fd158f9844587e (diff) |
vxge: sparse and other clean-ups
Correct issues found by running sparse on the vxge driver, as well as
other miscellaneous cleanups.
Signed-off-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/vxge/vxge-ethtool.c')
-rw-r--r-- | drivers/net/vxge/vxge-ethtool.c | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/drivers/net/vxge/vxge-ethtool.c b/drivers/net/vxge/vxge-ethtool.c index 3d2cd6acf30a..09f721e10517 100644 --- a/drivers/net/vxge/vxge-ethtool.c +++ b/drivers/net/vxge/vxge-ethtool.c | |||
@@ -11,7 +11,7 @@ | |||
11 | * Virtualized Server Adapter. | 11 | * Virtualized Server Adapter. |
12 | * Copyright(c) 2002-2010 Exar Corp. | 12 | * Copyright(c) 2002-2010 Exar Corp. |
13 | ******************************************************************************/ | 13 | ******************************************************************************/ |
14 | #include<linux/ethtool.h> | 14 | #include <linux/ethtool.h> |
15 | #include <linux/slab.h> | 15 | #include <linux/slab.h> |
16 | #include <linux/pci.h> | 16 | #include <linux/pci.h> |
17 | #include <linux/etherdevice.h> | 17 | #include <linux/etherdevice.h> |
@@ -29,7 +29,6 @@ | |||
29 | * Return value: | 29 | * Return value: |
30 | * 0 on success. | 30 | * 0 on success. |
31 | */ | 31 | */ |
32 | |||
33 | static int vxge_ethtool_sset(struct net_device *dev, struct ethtool_cmd *info) | 32 | static int vxge_ethtool_sset(struct net_device *dev, struct ethtool_cmd *info) |
34 | { | 33 | { |
35 | /* We currently only support 10Gb/FULL */ | 34 | /* We currently only support 10Gb/FULL */ |
@@ -79,10 +78,9 @@ static int vxge_ethtool_gset(struct net_device *dev, struct ethtool_cmd *info) | |||
79 | * Returns driver specefic information like name, version etc.. to ethtool. | 78 | * Returns driver specefic information like name, version etc.. to ethtool. |
80 | */ | 79 | */ |
81 | static void vxge_ethtool_gdrvinfo(struct net_device *dev, | 80 | static void vxge_ethtool_gdrvinfo(struct net_device *dev, |
82 | struct ethtool_drvinfo *info) | 81 | struct ethtool_drvinfo *info) |
83 | { | 82 | { |
84 | struct vxgedev *vdev; | 83 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); |
85 | vdev = (struct vxgedev *)netdev_priv(dev); | ||
86 | strlcpy(info->driver, VXGE_DRIVER_NAME, sizeof(VXGE_DRIVER_NAME)); | 84 | strlcpy(info->driver, VXGE_DRIVER_NAME, sizeof(VXGE_DRIVER_NAME)); |
87 | strlcpy(info->version, DRV_VERSION, sizeof(DRV_VERSION)); | 85 | strlcpy(info->version, DRV_VERSION, sizeof(DRV_VERSION)); |
88 | strlcpy(info->fw_version, vdev->fw_version, VXGE_HW_FW_STRLEN); | 86 | strlcpy(info->fw_version, vdev->fw_version, VXGE_HW_FW_STRLEN); |
@@ -104,15 +102,14 @@ static void vxge_ethtool_gdrvinfo(struct net_device *dev, | |||
104 | * buffer area. | 102 | * buffer area. |
105 | */ | 103 | */ |
106 | static void vxge_ethtool_gregs(struct net_device *dev, | 104 | static void vxge_ethtool_gregs(struct net_device *dev, |
107 | struct ethtool_regs *regs, void *space) | 105 | struct ethtool_regs *regs, void *space) |
108 | { | 106 | { |
109 | int index, offset; | 107 | int index, offset; |
110 | enum vxge_hw_status status; | 108 | enum vxge_hw_status status; |
111 | u64 reg; | 109 | u64 reg; |
112 | u64 *reg_space = (u64 *) space; | 110 | u64 *reg_space = (u64 *)space; |
113 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); | 111 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); |
114 | struct __vxge_hw_device *hldev = (struct __vxge_hw_device *) | 112 | struct __vxge_hw_device *hldev = vdev->devh; |
115 | pci_get_drvdata(vdev->pdev); | ||
116 | 113 | ||
117 | regs->len = sizeof(struct vxge_hw_vpath_reg) * vdev->no_of_vpath; | 114 | regs->len = sizeof(struct vxge_hw_vpath_reg) * vdev->no_of_vpath; |
118 | regs->version = vdev->pdev->subsystem_device; | 115 | regs->version = vdev->pdev->subsystem_device; |
@@ -148,8 +145,7 @@ static void vxge_ethtool_gregs(struct net_device *dev, | |||
148 | static int vxge_ethtool_idnic(struct net_device *dev, u32 data) | 145 | static int vxge_ethtool_idnic(struct net_device *dev, u32 data) |
149 | { | 146 | { |
150 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); | 147 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); |
151 | struct __vxge_hw_device *hldev = (struct __vxge_hw_device *) | 148 | struct __vxge_hw_device *hldev = vdev->devh; |
152 | pci_get_drvdata(vdev->pdev); | ||
153 | 149 | ||
154 | vxge_hw_device_flick_link_led(hldev, VXGE_FLICKER_ON); | 150 | vxge_hw_device_flick_link_led(hldev, VXGE_FLICKER_ON); |
155 | msleep_interruptible(data ? (data * HZ) : VXGE_MAX_FLICKER_TIME); | 151 | msleep_interruptible(data ? (data * HZ) : VXGE_MAX_FLICKER_TIME); |
@@ -168,11 +164,10 @@ static int vxge_ethtool_idnic(struct net_device *dev, u32 data) | |||
168 | * void | 164 | * void |
169 | */ | 165 | */ |
170 | static void vxge_ethtool_getpause_data(struct net_device *dev, | 166 | static void vxge_ethtool_getpause_data(struct net_device *dev, |
171 | struct ethtool_pauseparam *ep) | 167 | struct ethtool_pauseparam *ep) |
172 | { | 168 | { |
173 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); | 169 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); |
174 | struct __vxge_hw_device *hldev = (struct __vxge_hw_device *) | 170 | struct __vxge_hw_device *hldev = vdev->devh; |
175 | pci_get_drvdata(vdev->pdev); | ||
176 | 171 | ||
177 | vxge_hw_device_getpause_data(hldev, 0, &ep->tx_pause, &ep->rx_pause); | 172 | vxge_hw_device_getpause_data(hldev, 0, &ep->tx_pause, &ep->rx_pause); |
178 | } | 173 | } |
@@ -188,11 +183,10 @@ static void vxge_ethtool_getpause_data(struct net_device *dev, | |||
188 | * int, returns 0 on Success | 183 | * int, returns 0 on Success |
189 | */ | 184 | */ |
190 | static int vxge_ethtool_setpause_data(struct net_device *dev, | 185 | static int vxge_ethtool_setpause_data(struct net_device *dev, |
191 | struct ethtool_pauseparam *ep) | 186 | struct ethtool_pauseparam *ep) |
192 | { | 187 | { |
193 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); | 188 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); |
194 | struct __vxge_hw_device *hldev = (struct __vxge_hw_device *) | 189 | struct __vxge_hw_device *hldev = vdev->devh; |
195 | pci_get_drvdata(vdev->pdev); | ||
196 | 190 | ||
197 | vxge_hw_device_setpause_data(hldev, 0, ep->tx_pause, ep->rx_pause); | 191 | vxge_hw_device_setpause_data(hldev, 0, ep->tx_pause, ep->rx_pause); |
198 | 192 | ||
@@ -209,9 +203,8 @@ static void vxge_get_ethtool_stats(struct net_device *dev, | |||
209 | enum vxge_hw_status status; | 203 | enum vxge_hw_status status; |
210 | enum vxge_hw_status swstatus; | 204 | enum vxge_hw_status swstatus; |
211 | struct vxge_vpath *vpath = NULL; | 205 | struct vxge_vpath *vpath = NULL; |
212 | |||
213 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); | 206 | struct vxgedev *vdev = (struct vxgedev *)netdev_priv(dev); |
214 | struct __vxge_hw_device *hldev = vdev->devh; | 207 | struct __vxge_hw_device *hldev = vdev->devh; |
215 | struct vxge_hw_xmac_stats *xmac_stats; | 208 | struct vxge_hw_xmac_stats *xmac_stats; |
216 | struct vxge_hw_device_stats_sw_info *sw_stats; | 209 | struct vxge_hw_device_stats_sw_info *sw_stats; |
217 | struct vxge_hw_device_stats_hw_info *hw_stats; | 210 | struct vxge_hw_device_stats_hw_info *hw_stats; |
@@ -574,8 +567,8 @@ static void vxge_get_ethtool_stats(struct net_device *dev, | |||
574 | kfree(hw_stats); | 567 | kfree(hw_stats); |
575 | } | 568 | } |
576 | 569 | ||
577 | static void vxge_ethtool_get_strings(struct net_device *dev, | 570 | static void vxge_ethtool_get_strings(struct net_device *dev, u32 stringset, |
578 | u32 stringset, u8 *data) | 571 | u8 *data) |
579 | { | 572 | { |
580 | int stat_size = 0; | 573 | int stat_size = 0; |
581 | int i, j; | 574 | int i, j; |