aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
diff options
context:
space:
mode:
authorSony Chacko <sony.chacko@qlogic.com>2012-11-27 23:34:29 -0500
committerDavid S. Miller <davem@davemloft.net>2012-11-28 11:07:44 -0500
commitb66e29c9fda1b7288ec2504a6bc730654bff12b2 (patch)
treee0027974c3463a3ecf269202dd0c0a262ab8d41c /drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
parentec079a07db570ec6ba333525cc43805163bcb043 (diff)
qlcnic: fix style issues in qlcnic_sysfs.c file
Fix coding style issues in qlcnic_sysfs.c file Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c')
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c243
1 files changed, 127 insertions, 116 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
index e2bad8b6020c..10a702af4e8d 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c
@@ -25,9 +25,9 @@ int qlcnicvf_config_led(struct qlcnic_adapter *adapter, u32 state, u32 rate)
25 return -EOPNOTSUPP; 25 return -EOPNOTSUPP;
26} 26}
27 27
28static ssize_t 28static ssize_t qlcnic_store_bridged_mode(struct device *dev,
29qlcnic_store_bridged_mode(struct device *dev, 29 struct device_attribute *attr,
30 struct device_attribute *attr, const char *buf, size_t len) 30 const char *buf, size_t len)
31{ 31{
32 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 32 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
33 unsigned long new; 33 unsigned long new;
@@ -49,9 +49,9 @@ err_out:
49 return ret; 49 return ret;
50} 50}
51 51
52static ssize_t 52static ssize_t qlcnic_show_bridged_mode(struct device *dev,
53qlcnic_show_bridged_mode(struct device *dev, 53 struct device_attribute *attr,
54 struct device_attribute *attr, char *buf) 54 char *buf)
55{ 55{
56 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 56 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
57 int bridged_mode = 0; 57 int bridged_mode = 0;
@@ -62,9 +62,9 @@ qlcnic_show_bridged_mode(struct device *dev,
62 return sprintf(buf, "%d\n", bridged_mode); 62 return sprintf(buf, "%d\n", bridged_mode);
63} 63}
64 64
65static ssize_t 65static ssize_t qlcnic_store_diag_mode(struct device *dev,
66qlcnic_store_diag_mode(struct device *dev, 66 struct device_attribute *attr,
67 struct device_attribute *attr, const char *buf, size_t len) 67 const char *buf, size_t len)
68{ 68{
69 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 69 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
70 unsigned long new; 70 unsigned long new;
@@ -78,19 +78,17 @@ qlcnic_store_diag_mode(struct device *dev,
78 return len; 78 return len;
79} 79}
80 80
81static ssize_t 81static ssize_t qlcnic_show_diag_mode(struct device *dev,
82qlcnic_show_diag_mode(struct device *dev, 82 struct device_attribute *attr, char *buf)
83 struct device_attribute *attr, char *buf)
84{ 83{
85 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 84 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
86 85
87 return sprintf(buf, "%d\n", 86 return sprintf(buf, "%d\n",
88 !!(adapter->flags & QLCNIC_DIAG_ENABLED)); 87 !!(adapter->flags & QLCNIC_DIAG_ENABLED));
89} 88}
90 89
91static int 90static int qlcnic_validate_beacon(struct qlcnic_adapter *adapter, u16 beacon,
92qlcnic_validate_beacon(struct qlcnic_adapter *adapter, u16 beacon, u8 *state, 91 u8 *state, u8 *rate)
93 u8 *rate)
94{ 92{
95 *rate = LSB(beacon); 93 *rate = LSB(beacon);
96 *state = MSB(beacon); 94 *state = MSB(beacon);
@@ -100,8 +98,9 @@ qlcnic_validate_beacon(struct qlcnic_adapter *adapter, u16 beacon, u8 *state,
100 if (!*state) { 98 if (!*state) {
101 *rate = __QLCNIC_MAX_LED_RATE; 99 *rate = __QLCNIC_MAX_LED_RATE;
102 return 0; 100 return 0;
103 } else if (*state > __QLCNIC_MAX_LED_STATE) 101 } else if (*state > __QLCNIC_MAX_LED_STATE) {
104 return -EINVAL; 102 return -EINVAL;
103 }
105 104
106 if ((!*rate) || (*rate > __QLCNIC_MAX_LED_RATE)) 105 if ((!*rate) || (*rate > __QLCNIC_MAX_LED_RATE))
107 return -EINVAL; 106 return -EINVAL;
@@ -109,9 +108,9 @@ qlcnic_validate_beacon(struct qlcnic_adapter *adapter, u16 beacon, u8 *state,
109 return 0; 108 return 0;
110} 109}
111 110
112static ssize_t 111static ssize_t qlcnic_store_beacon(struct device *dev,
113qlcnic_store_beacon(struct device *dev, 112 struct device_attribute *attr,
114 struct device_attribute *attr, const char *buf, size_t len) 113 const char *buf, size_t len)
115{ 114{
116 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 115 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
117 int max_sds_rings = adapter->max_sds_rings; 116 int max_sds_rings = adapter->max_sds_rings;
@@ -120,8 +119,8 @@ qlcnic_store_beacon(struct device *dev,
120 int err; 119 int err;
121 120
122 if (adapter->op_mode == QLCNIC_NON_PRIV_FUNC) { 121 if (adapter->op_mode == QLCNIC_NON_PRIV_FUNC) {
123 dev_warn(dev, "LED test not supported for non " 122 dev_warn(dev,
124 "privilege function\n"); 123 "LED test not supported in non privileged mode\n");
125 return -EOPNOTSUPP; 124 return -EOPNOTSUPP;
126 } 125 }
127 126
@@ -174,18 +173,16 @@ qlcnic_store_beacon(struct device *dev,
174 return err; 173 return err;
175} 174}
176 175
177static ssize_t 176static ssize_t qlcnic_show_beacon(struct device *dev,
178qlcnic_show_beacon(struct device *dev, 177 struct device_attribute *attr, char *buf)
179 struct device_attribute *attr, char *buf)
180{ 178{
181 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 179 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
182 180
183 return sprintf(buf, "%d\n", adapter->ahw->beacon_state); 181 return sprintf(buf, "%d\n", adapter->ahw->beacon_state);
184} 182}
185 183
186static int 184static int qlcnic_sysfs_validate_crb(struct qlcnic_adapter *adapter,
187qlcnic_sysfs_validate_crb(struct qlcnic_adapter *adapter, 185 loff_t offset, size_t size)
188 loff_t offset, size_t size)
189{ 186{
190 size_t crb_size = 4; 187 size_t crb_size = 4;
191 188
@@ -194,7 +191,7 @@ qlcnic_sysfs_validate_crb(struct qlcnic_adapter *adapter,
194 191
195 if (offset < QLCNIC_PCI_CRBSPACE) { 192 if (offset < QLCNIC_PCI_CRBSPACE) {
196 if (ADDR_IN_RANGE(offset, QLCNIC_PCI_CAMQM, 193 if (ADDR_IN_RANGE(offset, QLCNIC_PCI_CAMQM,
197 QLCNIC_PCI_CAMQM_END)) 194 QLCNIC_PCI_CAMQM_END))
198 crb_size = 8; 195 crb_size = 8;
199 else 196 else
200 return -EINVAL; 197 return -EINVAL;
@@ -206,10 +203,9 @@ qlcnic_sysfs_validate_crb(struct qlcnic_adapter *adapter,
206 return 0; 203 return 0;
207} 204}
208 205
209static ssize_t 206static ssize_t qlcnic_sysfs_read_crb(struct file *filp, struct kobject *kobj,
210qlcnic_sysfs_read_crb(struct file *filp, struct kobject *kobj, 207 struct bin_attribute *attr, char *buf,
211 struct bin_attribute *attr, 208 loff_t offset, size_t size)
212 char *buf, loff_t offset, size_t size)
213{ 209{
214 struct device *dev = container_of(kobj, struct device, kobj); 210 struct device *dev = container_of(kobj, struct device, kobj);
215 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 211 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -231,10 +227,9 @@ qlcnic_sysfs_read_crb(struct file *filp, struct kobject *kobj,
231 return size; 227 return size;
232} 228}
233 229
234static ssize_t 230static ssize_t qlcnic_sysfs_write_crb(struct file *filp, struct kobject *kobj,
235qlcnic_sysfs_write_crb(struct file *filp, struct kobject *kobj, 231 struct bin_attribute *attr, char *buf,
236 struct bin_attribute *attr, 232 loff_t offset, size_t size)
237 char *buf, loff_t offset, size_t size)
238{ 233{
239 struct device *dev = container_of(kobj, struct device, kobj); 234 struct device *dev = container_of(kobj, struct device, kobj);
240 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 235 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -256,9 +251,8 @@ qlcnic_sysfs_write_crb(struct file *filp, struct kobject *kobj,
256 return size; 251 return size;
257} 252}
258 253
259static int 254static int qlcnic_sysfs_validate_mem(struct qlcnic_adapter *adapter,
260qlcnic_sysfs_validate_mem(struct qlcnic_adapter *adapter, 255 loff_t offset, size_t size)
261 loff_t offset, size_t size)
262{ 256{
263 if (!(adapter->flags & QLCNIC_DIAG_ENABLED)) 257 if (!(adapter->flags & QLCNIC_DIAG_ENABLED))
264 return -EIO; 258 return -EIO;
@@ -269,10 +263,9 @@ qlcnic_sysfs_validate_mem(struct qlcnic_adapter *adapter,
269 return 0; 263 return 0;
270} 264}
271 265
272static ssize_t 266static ssize_t qlcnic_sysfs_read_mem(struct file *filp, struct kobject *kobj,
273qlcnic_sysfs_read_mem(struct file *filp, struct kobject *kobj, 267 struct bin_attribute *attr, char *buf,
274 struct bin_attribute *attr, 268 loff_t offset, size_t size)
275 char *buf, loff_t offset, size_t size)
276{ 269{
277 struct device *dev = container_of(kobj, struct device, kobj); 270 struct device *dev = container_of(kobj, struct device, kobj);
278 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 271 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -291,10 +284,9 @@ qlcnic_sysfs_read_mem(struct file *filp, struct kobject *kobj,
291 return size; 284 return size;
292} 285}
293 286
294static ssize_t 287static ssize_t qlcnic_sysfs_write_mem(struct file *filp, struct kobject *kobj,
295qlcnic_sysfs_write_mem(struct file *filp, struct kobject *kobj, 288 struct bin_attribute *attr, char *buf,
296 struct bin_attribute *attr, 289 loff_t offset, size_t size)
297 char *buf, loff_t offset, size_t size)
298{ 290{
299 struct device *dev = container_of(kobj, struct device, kobj); 291 struct device *dev = container_of(kobj, struct device, kobj);
300 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 292 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -313,20 +305,17 @@ qlcnic_sysfs_write_mem(struct file *filp, struct kobject *kobj,
313 return size; 305 return size;
314} 306}
315 307
316static int 308static int validate_pm_config(struct qlcnic_adapter *adapter,
317validate_pm_config(struct qlcnic_adapter *adapter, 309 struct qlcnic_pm_func_cfg *pm_cfg, int count)
318 struct qlcnic_pm_func_cfg *pm_cfg, int count)
319{ 310{
320 311 u8 src_pci_func, s_esw_id, d_esw_id, dest_pci_func;
321 u8 src_pci_func, s_esw_id, d_esw_id;
322 u8 dest_pci_func;
323 int i; 312 int i;
324 313
325 for (i = 0; i < count; i++) { 314 for (i = 0; i < count; i++) {
326 src_pci_func = pm_cfg[i].pci_func; 315 src_pci_func = pm_cfg[i].pci_func;
327 dest_pci_func = pm_cfg[i].dest_npar; 316 dest_pci_func = pm_cfg[i].dest_npar;
328 if (src_pci_func >= QLCNIC_MAX_PCI_FUNC 317 if (src_pci_func >= QLCNIC_MAX_PCI_FUNC ||
329 || dest_pci_func >= QLCNIC_MAX_PCI_FUNC) 318 dest_pci_func >= QLCNIC_MAX_PCI_FUNC)
330 return QL_STATUS_INVALID_PARAM; 319 return QL_STATUS_INVALID_PARAM;
331 320
332 if (adapter->npars[src_pci_func].type != QLCNIC_TYPE_NIC) 321 if (adapter->npars[src_pci_func].type != QLCNIC_TYPE_NIC)
@@ -340,15 +329,16 @@ validate_pm_config(struct qlcnic_adapter *adapter,
340 329
341 if (s_esw_id != d_esw_id) 330 if (s_esw_id != d_esw_id)
342 return QL_STATUS_INVALID_PARAM; 331 return QL_STATUS_INVALID_PARAM;
343
344 } 332 }
345 return 0; 333 return 0;
346 334
347} 335}
348 336
349static ssize_t 337static ssize_t qlcnic_sysfs_write_pm_config(struct file *filp,
350qlcnic_sysfs_write_pm_config(struct file *filp, struct kobject *kobj, 338 struct kobject *kobj,
351 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 339 struct bin_attribute *attr,
340 char *buf, loff_t offset,
341 size_t size)
352{ 342{
353 struct device *dev = container_of(kobj, struct device, kobj); 343 struct device *dev = container_of(kobj, struct device, kobj);
354 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 344 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -361,7 +351,7 @@ qlcnic_sysfs_write_pm_config(struct file *filp, struct kobject *kobj,
361 if (rem) 351 if (rem)
362 return QL_STATUS_INVALID_PARAM; 352 return QL_STATUS_INVALID_PARAM;
363 353
364 pm_cfg = (struct qlcnic_pm_func_cfg *) buf; 354 pm_cfg = (struct qlcnic_pm_func_cfg *)buf;
365 355
366 ret = validate_pm_config(adapter, pm_cfg, count); 356 ret = validate_pm_config(adapter, pm_cfg, count);
367 if (ret) 357 if (ret)
@@ -370,8 +360,8 @@ qlcnic_sysfs_write_pm_config(struct file *filp, struct kobject *kobj,
370 pci_func = pm_cfg[i].pci_func; 360 pci_func = pm_cfg[i].pci_func;
371 action = !!pm_cfg[i].action; 361 action = !!pm_cfg[i].action;
372 id = adapter->npars[pci_func].phy_port; 362 id = adapter->npars[pci_func].phy_port;
373 ret = qlcnic_config_port_mirroring(adapter, id, 363 ret = qlcnic_config_port_mirroring(adapter, id, action,
374 action, pci_func); 364 pci_func);
375 if (ret) 365 if (ret)
376 return ret; 366 return ret;
377 } 367 }
@@ -385,9 +375,11 @@ qlcnic_sysfs_write_pm_config(struct file *filp, struct kobject *kobj,
385 return size; 375 return size;
386} 376}
387 377
388static ssize_t 378static ssize_t qlcnic_sysfs_read_pm_config(struct file *filp,
389qlcnic_sysfs_read_pm_config(struct file *filp, struct kobject *kobj, 379 struct kobject *kobj,
390 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 380 struct bin_attribute *attr,
381 char *buf, loff_t offset,
382 size_t size)
391{ 383{
392 struct device *dev = container_of(kobj, struct device, kobj); 384 struct device *dev = container_of(kobj, struct device, kobj);
393 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 385 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -409,9 +401,8 @@ qlcnic_sysfs_read_pm_config(struct file *filp, struct kobject *kobj,
409 return size; 401 return size;
410} 402}
411 403
412static int 404static int validate_esw_config(struct qlcnic_adapter *adapter,
413validate_esw_config(struct qlcnic_adapter *adapter, 405 struct qlcnic_esw_func_cfg *esw_cfg, int count)
414 struct qlcnic_esw_func_cfg *esw_cfg, int count)
415{ 406{
416 u32 op_mode; 407 u32 op_mode;
417 u8 pci_func; 408 u8 pci_func;
@@ -424,14 +415,15 @@ validate_esw_config(struct qlcnic_adapter *adapter,
424 if (pci_func >= QLCNIC_MAX_PCI_FUNC) 415 if (pci_func >= QLCNIC_MAX_PCI_FUNC)
425 return QL_STATUS_INVALID_PARAM; 416 return QL_STATUS_INVALID_PARAM;
426 417
427 if (adapter->op_mode == QLCNIC_MGMT_FUNC) 418 if (adapter->op_mode == QLCNIC_MGMT_FUNC) {
428 if (adapter->npars[pci_func].type != QLCNIC_TYPE_NIC) 419 if (adapter->npars[pci_func].type != QLCNIC_TYPE_NIC)
429 return QL_STATUS_INVALID_PARAM; 420 return QL_STATUS_INVALID_PARAM;
421 }
430 422
431 switch (esw_cfg[i].op_mode) { 423 switch (esw_cfg[i].op_mode) {
432 case QLCNIC_PORT_DEFAULTS: 424 case QLCNIC_PORT_DEFAULTS:
433 if (QLC_DEV_GET_DRV(op_mode, pci_func) != 425 if (QLC_DEV_GET_DRV(op_mode, pci_func) !=
434 QLCNIC_NON_PRIV_FUNC) { 426 QLCNIC_NON_PRIV_FUNC) {
435 if (esw_cfg[i].mac_anti_spoof != 0) 427 if (esw_cfg[i].mac_anti_spoof != 0)
436 return QL_STATUS_INVALID_PARAM; 428 return QL_STATUS_INVALID_PARAM;
437 if (esw_cfg[i].mac_override != 1) 429 if (esw_cfg[i].mac_override != 1)
@@ -457,9 +449,11 @@ validate_esw_config(struct qlcnic_adapter *adapter,
457 return 0; 449 return 0;
458} 450}
459 451
460static ssize_t 452static ssize_t qlcnic_sysfs_write_esw_config(struct file *file,
461qlcnic_sysfs_write_esw_config(struct file *file, struct kobject *kobj, 453 struct kobject *kobj,
462 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 454 struct bin_attribute *attr,
455 char *buf, loff_t offset,
456 size_t size)
463{ 457{
464 struct device *dev = container_of(kobj, struct device, kobj); 458 struct device *dev = container_of(kobj, struct device, kobj);
465 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 459 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -473,15 +467,16 @@ qlcnic_sysfs_write_esw_config(struct file *file, struct kobject *kobj,
473 if (rem) 467 if (rem)
474 return QL_STATUS_INVALID_PARAM; 468 return QL_STATUS_INVALID_PARAM;
475 469
476 esw_cfg = (struct qlcnic_esw_func_cfg *) buf; 470 esw_cfg = (struct qlcnic_esw_func_cfg *)buf;
477 ret = validate_esw_config(adapter, esw_cfg, count); 471 ret = validate_esw_config(adapter, esw_cfg, count);
478 if (ret) 472 if (ret)
479 return ret; 473 return ret;
480 474
481 for (i = 0; i < count; i++) { 475 for (i = 0; i < count; i++) {
482 if (adapter->op_mode == QLCNIC_MGMT_FUNC) 476 if (adapter->op_mode == QLCNIC_MGMT_FUNC) {
483 if (qlcnic_config_switch_port(adapter, &esw_cfg[i])) 477 if (qlcnic_config_switch_port(adapter, &esw_cfg[i]))
484 return QL_STATUS_INVALID_PARAM; 478 return QL_STATUS_INVALID_PARAM;
479 }
485 480
486 if (adapter->ahw->pci_func != esw_cfg[i].pci_func) 481 if (adapter->ahw->pci_func != esw_cfg[i].pci_func)
487 continue; 482 continue;
@@ -531,9 +526,11 @@ out:
531 return size; 526 return size;
532} 527}
533 528
534static ssize_t 529static ssize_t qlcnic_sysfs_read_esw_config(struct file *file,
535qlcnic_sysfs_read_esw_config(struct file *file, struct kobject *kobj, 530 struct kobject *kobj,
536 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 531 struct bin_attribute *attr,
532 char *buf, loff_t offset,
533 size_t size)
537{ 534{
538 struct device *dev = container_of(kobj, struct device, kobj); 535 struct device *dev = container_of(kobj, struct device, kobj);
539 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 536 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -555,9 +552,9 @@ qlcnic_sysfs_read_esw_config(struct file *file, struct kobject *kobj,
555 return size; 552 return size;
556} 553}
557 554
558static int 555static int validate_npar_config(struct qlcnic_adapter *adapter,
559validate_npar_config(struct qlcnic_adapter *adapter, 556 struct qlcnic_npar_func_cfg *np_cfg,
560 struct qlcnic_npar_func_cfg *np_cfg, int count) 557 int count)
561{ 558{
562 u8 pci_func, i; 559 u8 pci_func, i;
563 560
@@ -576,9 +573,11 @@ validate_npar_config(struct qlcnic_adapter *adapter,
576 return 0; 573 return 0;
577} 574}
578 575
579static ssize_t 576static ssize_t qlcnic_sysfs_write_npar_config(struct file *file,
580qlcnic_sysfs_write_npar_config(struct file *file, struct kobject *kobj, 577 struct kobject *kobj,
581 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 578 struct bin_attribute *attr,
579 char *buf, loff_t offset,
580 size_t size)
582{ 581{
583 struct device *dev = container_of(kobj, struct device, kobj); 582 struct device *dev = container_of(kobj, struct device, kobj);
584 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 583 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -592,7 +591,7 @@ qlcnic_sysfs_write_npar_config(struct file *file, struct kobject *kobj,
592 if (rem) 591 if (rem)
593 return QL_STATUS_INVALID_PARAM; 592 return QL_STATUS_INVALID_PARAM;
594 593
595 np_cfg = (struct qlcnic_npar_func_cfg *) buf; 594 np_cfg = (struct qlcnic_npar_func_cfg *)buf;
596 ret = validate_npar_config(adapter, np_cfg, count); 595 ret = validate_npar_config(adapter, np_cfg, count);
597 if (ret) 596 if (ret)
598 return ret; 597 return ret;
@@ -615,9 +614,12 @@ qlcnic_sysfs_write_npar_config(struct file *file, struct kobject *kobj,
615 return size; 614 return size;
616 615
617} 616}
618static ssize_t 617
619qlcnic_sysfs_read_npar_config(struct file *file, struct kobject *kobj, 618static ssize_t qlcnic_sysfs_read_npar_config(struct file *file,
620 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 619 struct kobject *kobj,
620 struct bin_attribute *attr,
621 char *buf, loff_t offset,
622 size_t size)
621{ 623{
622 struct device *dev = container_of(kobj, struct device, kobj); 624 struct device *dev = container_of(kobj, struct device, kobj);
623 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 625 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -628,7 +630,7 @@ qlcnic_sysfs_read_npar_config(struct file *file, struct kobject *kobj,
628 if (size != sizeof(np_cfg)) 630 if (size != sizeof(np_cfg))
629 return QL_STATUS_INVALID_PARAM; 631 return QL_STATUS_INVALID_PARAM;
630 632
631 for (i = 0; i < QLCNIC_MAX_PCI_FUNC ; i++) { 633 for (i = 0; i < QLCNIC_MAX_PCI_FUNC; i++) {
632 if (adapter->npars[i].type != QLCNIC_TYPE_NIC) 634 if (adapter->npars[i].type != QLCNIC_TYPE_NIC)
633 continue; 635 continue;
634 ret = qlcnic_get_nic_info(adapter, &nic_info, i); 636 ret = qlcnic_get_nic_info(adapter, &nic_info, i);
@@ -639,7 +641,7 @@ qlcnic_sysfs_read_npar_config(struct file *file, struct kobject *kobj,
639 np_cfg[i].op_mode = (u8)nic_info.op_mode; 641 np_cfg[i].op_mode = (u8)nic_info.op_mode;
640 np_cfg[i].port_num = nic_info.phys_port; 642 np_cfg[i].port_num = nic_info.phys_port;
641 np_cfg[i].fw_capab = nic_info.capabilities; 643 np_cfg[i].fw_capab = nic_info.capabilities;
642 np_cfg[i].min_bw = nic_info.min_tx_bw ; 644 np_cfg[i].min_bw = nic_info.min_tx_bw;
643 np_cfg[i].max_bw = nic_info.max_tx_bw; 645 np_cfg[i].max_bw = nic_info.max_tx_bw;
644 np_cfg[i].max_tx_queues = nic_info.max_tx_ques; 646 np_cfg[i].max_tx_queues = nic_info.max_tx_ques;
645 np_cfg[i].max_rx_queues = nic_info.max_rx_ques; 647 np_cfg[i].max_rx_queues = nic_info.max_rx_ques;
@@ -648,9 +650,11 @@ qlcnic_sysfs_read_npar_config(struct file *file, struct kobject *kobj,
648 return size; 650 return size;
649} 651}
650 652
651static ssize_t 653static ssize_t qlcnic_sysfs_get_port_stats(struct file *file,
652qlcnic_sysfs_get_port_stats(struct file *file, struct kobject *kobj, 654 struct kobject *kobj,
653 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 655 struct bin_attribute *attr,
656 char *buf, loff_t offset,
657 size_t size)
654{ 658{
655 struct device *dev = container_of(kobj, struct device, kobj); 659 struct device *dev = container_of(kobj, struct device, kobj);
656 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 660 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -665,12 +669,12 @@ qlcnic_sysfs_get_port_stats(struct file *file, struct kobject *kobj,
665 669
666 memset(&port_stats, 0, size); 670 memset(&port_stats, 0, size);
667 ret = qlcnic_get_port_stats(adapter, offset, QLCNIC_QUERY_RX_COUNTER, 671 ret = qlcnic_get_port_stats(adapter, offset, QLCNIC_QUERY_RX_COUNTER,
668 &port_stats.rx); 672 &port_stats.rx);
669 if (ret) 673 if (ret)
670 return ret; 674 return ret;
671 675
672 ret = qlcnic_get_port_stats(adapter, offset, QLCNIC_QUERY_TX_COUNTER, 676 ret = qlcnic_get_port_stats(adapter, offset, QLCNIC_QUERY_TX_COUNTER,
673 &port_stats.tx); 677 &port_stats.tx);
674 if (ret) 678 if (ret)
675 return ret; 679 return ret;
676 680
@@ -678,9 +682,11 @@ qlcnic_sysfs_get_port_stats(struct file *file, struct kobject *kobj,
678 return size; 682 return size;
679} 683}
680 684
681static ssize_t 685static ssize_t qlcnic_sysfs_get_esw_stats(struct file *file,
682qlcnic_sysfs_get_esw_stats(struct file *file, struct kobject *kobj, 686 struct kobject *kobj,
683 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 687 struct bin_attribute *attr,
688 char *buf, loff_t offset,
689 size_t size)
684{ 690{
685 struct device *dev = container_of(kobj, struct device, kobj); 691 struct device *dev = container_of(kobj, struct device, kobj);
686 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 692 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -695,12 +701,12 @@ qlcnic_sysfs_get_esw_stats(struct file *file, struct kobject *kobj,
695 701
696 memset(&esw_stats, 0, size); 702 memset(&esw_stats, 0, size);
697 ret = qlcnic_get_eswitch_stats(adapter, offset, QLCNIC_QUERY_RX_COUNTER, 703 ret = qlcnic_get_eswitch_stats(adapter, offset, QLCNIC_QUERY_RX_COUNTER,
698 &esw_stats.rx); 704 &esw_stats.rx);
699 if (ret) 705 if (ret)
700 return ret; 706 return ret;
701 707
702 ret = qlcnic_get_eswitch_stats(adapter, offset, QLCNIC_QUERY_TX_COUNTER, 708 ret = qlcnic_get_eswitch_stats(adapter, offset, QLCNIC_QUERY_TX_COUNTER,
703 &esw_stats.tx); 709 &esw_stats.tx);
704 if (ret) 710 if (ret)
705 return ret; 711 return ret;
706 712
@@ -708,9 +714,11 @@ qlcnic_sysfs_get_esw_stats(struct file *file, struct kobject *kobj,
708 return size; 714 return size;
709} 715}
710 716
711static ssize_t 717static ssize_t qlcnic_sysfs_clear_esw_stats(struct file *file,
712qlcnic_sysfs_clear_esw_stats(struct file *file, struct kobject *kobj, 718 struct kobject *kobj,
713 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 719 struct bin_attribute *attr,
720 char *buf, loff_t offset,
721 size_t size)
714{ 722{
715 struct device *dev = container_of(kobj, struct device, kobj); 723 struct device *dev = container_of(kobj, struct device, kobj);
716 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 724 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -720,23 +728,24 @@ qlcnic_sysfs_clear_esw_stats(struct file *file, struct kobject *kobj,
720 return QL_STATUS_INVALID_PARAM; 728 return QL_STATUS_INVALID_PARAM;
721 729
722 ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_ESWITCH, offset, 730 ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_ESWITCH, offset,
723 QLCNIC_QUERY_RX_COUNTER); 731 QLCNIC_QUERY_RX_COUNTER);
724 if (ret) 732 if (ret)
725 return ret; 733 return ret;
726 734
727 ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_ESWITCH, offset, 735 ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_ESWITCH, offset,
728 QLCNIC_QUERY_TX_COUNTER); 736 QLCNIC_QUERY_TX_COUNTER);
729 if (ret) 737 if (ret)
730 return ret; 738 return ret;
731 739
732 return size; 740 return size;
733} 741}
734 742
735static ssize_t 743static ssize_t qlcnic_sysfs_clear_port_stats(struct file *file,
736qlcnic_sysfs_clear_port_stats(struct file *file, struct kobject *kobj, 744 struct kobject *kobj,
737 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 745 struct bin_attribute *attr,
746 char *buf, loff_t offset,
747 size_t size)
738{ 748{
739
740 struct device *dev = container_of(kobj, struct device, kobj); 749 struct device *dev = container_of(kobj, struct device, kobj);
741 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 750 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
742 int ret; 751 int ret;
@@ -745,21 +754,23 @@ qlcnic_sysfs_clear_port_stats(struct file *file, struct kobject *kobj,
745 return QL_STATUS_INVALID_PARAM; 754 return QL_STATUS_INVALID_PARAM;
746 755
747 ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_PORT, offset, 756 ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_PORT, offset,
748 QLCNIC_QUERY_RX_COUNTER); 757 QLCNIC_QUERY_RX_COUNTER);
749 if (ret) 758 if (ret)
750 return ret; 759 return ret;
751 760
752 ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_PORT, offset, 761 ret = qlcnic_clear_esw_stats(adapter, QLCNIC_STATS_PORT, offset,
753 QLCNIC_QUERY_TX_COUNTER); 762 QLCNIC_QUERY_TX_COUNTER);
754 if (ret) 763 if (ret)
755 return ret; 764 return ret;
756 765
757 return size; 766 return size;
758} 767}
759 768
760static ssize_t 769static ssize_t qlcnic_sysfs_read_pci_config(struct file *file,
761qlcnic_sysfs_read_pci_config(struct file *file, struct kobject *kobj, 770 struct kobject *kobj,
762 struct bin_attribute *attr, char *buf, loff_t offset, size_t size) 771 struct bin_attribute *attr,
772 char *buf, loff_t offset,
773 size_t size)
763{ 774{
764 struct device *dev = container_of(kobj, struct device, kobj); 775 struct device *dev = container_of(kobj, struct device, kobj);
765 struct qlcnic_adapter *adapter = dev_get_drvdata(dev); 776 struct qlcnic_adapter *adapter = dev_get_drvdata(dev);
@@ -874,7 +885,7 @@ void qlcnic_create_sysfs_entries(struct qlcnic_adapter *adapter)
874 if (adapter->capabilities & QLCNIC_FW_CAPABILITY_BDG) 885 if (adapter->capabilities & QLCNIC_FW_CAPABILITY_BDG)
875 if (device_create_file(dev, &dev_attr_bridged_mode)) 886 if (device_create_file(dev, &dev_attr_bridged_mode))
876 dev_warn(dev, 887 dev_warn(dev,
877 "failed to create bridged_mode sysfs entry\n"); 888 "failed to create bridged_mode sysfs entry\n");
878} 889}
879 890
880void qlcnic_remove_sysfs_entries(struct qlcnic_adapter *adapter) 891void qlcnic_remove_sysfs_entries(struct qlcnic_adapter *adapter)