From foo@baz Tue Apr 9 12:12:43 2002 Date: Mon, 05 Nov 2007 22:24:43 -0800 To: Greg KH From: Greg Kroah-Hartman Subject: kobject: get rid of kobject_kset_add_dir kobject_kset_add_dir is only called in one place so remove it and use kobject_create() instead. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman --- drivers/base/core.c | 14 ++++++++++++-- include/linux/kobject.h | 5 ++--- lib/kobject.c | 33 +-------------------------------- 3 files changed, 15 insertions(+), 37 deletions(-) --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -571,6 +571,8 @@ static struct kobject *virtual_device_pa static struct kobject * get_device_parent(struct device *dev, struct device *parent) { + int retval; + if (dev->class) { struct kobject *kobj = NULL; struct kobject *parent_kobj; @@ -600,8 +602,16 @@ static struct kobject * get_device_paren return kobj; /* or create a new class-directory at the parent device */ - return kobject_kset_add_dir(&dev->class->class_dirs, - parent_kobj, dev->class->name); + k = kobject_create(dev->class->name, parent_kobj); + if (!k) + return NULL; + k->kset = &dev->class->class_dirs; + retval = kobject_register(k); + if (retval < 0) { + kfree(k); + return NULL; + } + return k; } if (parent) --- a/include/linux/kobject.h +++ b/include/linux/kobject.h @@ -84,6 +84,8 @@ extern void kobject_cleanup(struct kobje extern int __must_check kobject_add(struct kobject *); extern void kobject_del(struct kobject *); +extern struct kobject * __must_check kobject_create(const char *name, + struct kobject *parent); extern struct kobject * __must_check kobject_create_and_register (const char *name, struct kobject *parent); @@ -96,9 +98,6 @@ extern void kobject_unregister(struct ko extern struct kobject * kobject_get(struct kobject *); extern void kobject_put(struct kobject *); -extern struct kobject *kobject_kset_add_dir(struct kset *kset, - struct kobject *, const char *); - extern char * kobject_get_path(struct kobject *, gfp_t); struct kobj_type { --- a/lib/kobject.c +++ b/lib/kobject.c @@ -513,8 +513,7 @@ static struct kobj_type dynamic_kobj_kty * * If the kobject was not able to be created, NULL will be returned. */ -static struct kobject *kobject_create(const char *name, - struct kobject *parent) +struct kobject *kobject_create(const char *name, struct kobject *parent) { struct kobject *kobj; @@ -563,36 +562,6 @@ struct kobject *kobject_create_and_regis EXPORT_SYMBOL_GPL(kobject_create_and_register); /** - * kobject_kset_add_dir - add sub directory of object. - * @kset: kset the directory is belongs to. - * @parent: object in which a directory is created. - * @name: directory name. - * - * Add a plain directory object as child of given object. - */ -struct kobject *kobject_kset_add_dir(struct kset *kset, - struct kobject *parent, const char *name) -{ - struct kobject *k; - int ret; - - k = kobject_create(name, parent); - if (!k) - return NULL; - - k->kset = kset; - ret = kobject_register(k); - if (ret < 0) { - printk(KERN_WARNING "%s: kobject_register error: %d\n", - __func__, ret); - kfree(k); - k = NULL; - } - - return k; -} - -/** * kset_init - initialize a kset for use * @k: kset */