* Caller must NOT hold rtnl_lock; we need to release it here before we
  * set up our sysfs entries.
  */
-int bond_create(char *name, struct bond_params *params, struct bonding **newbond)
+int bond_create(char *name, struct bond_params *params)
 {
        struct net_device *bond_dev;
        struct bonding *bond, *nxt;
 
        lockdep_set_class(&bond_dev->_xmit_lock, &bonding_netdev_xmit_lock_key);
 
-       if (newbond)
-               *newbond = bond_dev->priv;
-
        netif_carrier_off(bond_dev);
 
        up_write(&bonding_rwsem);
        init_rwsem(&bonding_rwsem);
 
        for (i = 0; i < max_bonds; i++) {
-               res = bond_create(NULL, &bonding_defaults, NULL);
+               res = bond_create(NULL, &bonding_defaults);
                if (res)
                        goto err;
        }
 
        if (command[0] == '+') {
                printk(KERN_INFO DRV_NAME
                        ": %s is being created...\n", ifname);
-               rv = bond_create(ifname, &bonding_defaults, &bond);
+               rv = bond_create(ifname, &bonding_defaults);
                if (rv) {
                        printk(KERN_INFO DRV_NAME ": Bond creation failed.\n");
                        res = rv;
 
 
 struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr);
 int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev);
-int bond_create(char *name, struct bond_params *params, struct bonding **newbond);
+int bond_create(char *name, struct bond_params *params);
 void bond_destroy(struct bonding *bond);
 int  bond_release_and_destroy(struct net_device *bond_dev, struct net_device *slave_dev);
 int bond_create_sysfs(void);