aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bond_sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bonding/bond_sysfs.c')
-rw-r--r--drivers/net/bonding/bond_sysfs.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c
index dd265c69b0df..6caac0ffb2f2 100644
--- a/drivers/net/bonding/bond_sysfs.c
+++ b/drivers/net/bonding/bond_sysfs.c
@@ -53,7 +53,6 @@ extern struct bond_parm_tbl arp_validate_tbl[];
53extern struct bond_parm_tbl fail_over_mac_tbl[]; 53extern struct bond_parm_tbl fail_over_mac_tbl[];
54 54
55static int expected_refcount = -1; 55static int expected_refcount = -1;
56static struct class *netdev_class;
57/*--------------------------- Data Structures -----------------------------*/ 56/*--------------------------- Data Structures -----------------------------*/
58 57
59/* Bonding sysfs lock. Why can't we just use the subsystem lock? 58/* Bonding sysfs lock. Why can't we just use the subsystem lock?
@@ -1447,19 +1446,9 @@ static struct attribute_group bonding_group = {
1447 */ 1446 */
1448int bond_create_sysfs(void) 1447int bond_create_sysfs(void)
1449{ 1448{
1450 int ret = 0; 1449 int ret;
1451 struct bonding *firstbond;
1452
1453 /* get the netdev class pointer */
1454 firstbond = container_of(bond_dev_list.next, struct bonding, bond_list);
1455 if (!firstbond)
1456 return -ENODEV;
1457
1458 netdev_class = firstbond->dev->dev.class;
1459 if (!netdev_class)
1460 return -ENODEV;
1461 1450
1462 ret = class_create_file(netdev_class, &class_attr_bonding_masters); 1451 ret = netdev_class_create_file(&class_attr_bonding_masters);
1463 /* 1452 /*
1464 * Permit multiple loads of the module by ignoring failures to 1453 * Permit multiple loads of the module by ignoring failures to
1465 * create the bonding_masters sysfs file. Bonding devices 1454 * create the bonding_masters sysfs file. Bonding devices
@@ -1478,10 +1467,6 @@ int bond_create_sysfs(void)
1478 printk(KERN_ERR 1467 printk(KERN_ERR
1479 "network device named %s already exists in sysfs", 1468 "network device named %s already exists in sysfs",
1480 class_attr_bonding_masters.attr.name); 1469 class_attr_bonding_masters.attr.name);
1481 else {
1482 netdev_class = NULL;
1483 return 0;
1484 }
1485 } 1470 }
1486 1471
1487 return ret; 1472 return ret;
@@ -1493,8 +1478,7 @@ int bond_create_sysfs(void)
1493 */ 1478 */
1494void bond_destroy_sysfs(void) 1479void bond_destroy_sysfs(void)
1495{ 1480{
1496 if (netdev_class) 1481 netdev_class_remove_file(&class_attr_bonding_masters);
1497 class_remove_file(netdev_class, &class_attr_bonding_masters);
1498} 1482}
1499 1483
1500/* 1484/*