浏览代码

Kobject: convert remaining kobject_unregister() to kobject_put()

There is no need for kobject_unregister() anymore, thanks to Kay's
kobject cleanup changes, so replace all instances of it with
kobject_put().


Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg Kroah-Hartman 17 年之前
父节点
当前提交
78a2d906b4
共有 5 个文件被更改,包括 9 次插入10 次删除
  1. 1 1
      kernel/ksysfs.c
  2. 4 5
      kernel/module.c
  3. 2 2
      lib/kobject.c
  4. 1 1
      net/bridge/br_sysfs_br.c
  5. 1 1
      security/inode.c

+ 1 - 1
kernel/ksysfs.c

@@ -154,7 +154,7 @@ notes_exit:
 group_exit:
 group_exit:
 	sysfs_remove_group(kernel_kobj, &kernel_attr_group);
 	sysfs_remove_group(kernel_kobj, &kernel_attr_group);
 kset_exit:
 kset_exit:
-	kobject_unregister(kernel_kobj);
+	kobject_put(kernel_kobj);
 exit:
 exit:
 	return error;
 	return error;
 }
 }

+ 4 - 5
kernel/module.c

@@ -1257,9 +1257,8 @@ int mod_sysfs_setup(struct module *mod,
 out_unreg_param:
 out_unreg_param:
 	module_param_sysfs_remove(mod);
 	module_param_sysfs_remove(mod);
 out_unreg_holders:
 out_unreg_holders:
-	kobject_unregister(mod->holders_dir);
+	kobject_put(mod->holders_dir);
 out_unreg:
 out_unreg:
-	kobject_del(&mod->mkobj.kobj);
 	kobject_put(&mod->mkobj.kobj);
 	kobject_put(&mod->mkobj.kobj);
 	return err;
 	return err;
 }
 }
@@ -1269,9 +1268,9 @@ static void mod_kobject_remove(struct module *mod)
 {
 {
 	module_remove_modinfo_attrs(mod);
 	module_remove_modinfo_attrs(mod);
 	module_param_sysfs_remove(mod);
 	module_param_sysfs_remove(mod);
-	kobject_unregister(mod->mkobj.drivers_dir);
-	kobject_unregister(mod->holders_dir);
-	kobject_unregister(&mod->mkobj.kobj);
+	kobject_put(mod->mkobj.drivers_dir);
+	kobject_put(mod->holders_dir);
+	kobject_put(&mod->mkobj.kobj);
 }
 }
 
 
 /*
 /*

+ 2 - 2
lib/kobject.c

@@ -664,7 +664,7 @@ struct kobject *kobject_create(void)
  *
  *
  * This function creates a kset structure dynamically and registers it
  * This function creates a kset structure dynamically and registers it
  * with sysfs.  When you are finished with this structure, call
  * with sysfs.  When you are finished with this structure, call
- * kobject_unregister() and the structure will be dynamically freed when
+ * kobject_put() and the structure will be dynamically freed when
  * it is no longer being used.
  * it is no longer being used.
  *
  *
  * If the kobject was not able to be created, NULL will be returned.
  * If the kobject was not able to be created, NULL will be returned.
@@ -761,7 +761,7 @@ void kset_unregister(struct kset * k)
 {
 {
 	if (!k)
 	if (!k)
 		return;
 		return;
-	kobject_unregister(&k->kobj);
+	kobject_put(&k->kobj);
 }
 }
 
 
 
 

+ 1 - 1
net/bridge/br_sysfs_br.c

@@ -447,7 +447,7 @@ void br_sysfs_delbr(struct net_device *dev)
 	struct kobject *kobj = &dev->dev.kobj;
 	struct kobject *kobj = &dev->dev.kobj;
 	struct net_bridge *br = netdev_priv(dev);
 	struct net_bridge *br = netdev_priv(dev);
 
 
-	kobject_unregister(br->ifobj);
+	kobject_put(br->ifobj);
 	sysfs_remove_bin_file(kobj, &bridge_forward);
 	sysfs_remove_bin_file(kobj, &bridge_forward);
 	sysfs_remove_group(kobj, &bridge_group);
 	sysfs_remove_group(kobj, &bridge_group);
 }
 }

+ 1 - 1
security/inode.c

@@ -327,7 +327,7 @@ static int __init securityfs_init(void)
 
 
 	retval = register_filesystem(&fs_type);
 	retval = register_filesystem(&fs_type);
 	if (retval)
 	if (retval)
-		kobject_unregister(security_kobj);
+		kobject_put(security_kobj);
 	return retval;
 	return retval;
 }
 }