[PATCH] kobject_add_dir
Adding kobject_add_dir() function which creates a subdirectory for a given kobject. Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
dd308bc355
Коммит
7423172a50
|
@ -80,6 +80,8 @@ extern void kobject_unregister(struct kobject *);
|
|||
extern struct kobject * kobject_get(struct kobject *);
|
||||
extern void kobject_put(struct kobject *);
|
||||
|
||||
extern struct kobject *kobject_add_dir(struct kobject *, const char *);
|
||||
|
||||
extern char * kobject_get_path(struct kobject *, gfp_t);
|
||||
|
||||
struct kobj_type {
|
||||
|
|
|
@ -385,6 +385,44 @@ void kobject_put(struct kobject * kobj)
|
|||
}
|
||||
|
||||
|
||||
static void dir_release(struct kobject *kobj)
|
||||
{
|
||||
kfree(kobj);
|
||||
}
|
||||
|
||||
static struct kobj_type dir_ktype = {
|
||||
.release = dir_release,
|
||||
.sysfs_ops = NULL,
|
||||
.default_attrs = NULL,
|
||||
};
|
||||
|
||||
/**
|
||||
* kobject_add_dir - add sub directory of object.
|
||||
* @parent: object in which a directory is created.
|
||||
* @name: directory name.
|
||||
*
|
||||
* Add a plain directory object as child of given object.
|
||||
*/
|
||||
struct kobject *kobject_add_dir(struct kobject *parent, const char *name)
|
||||
{
|
||||
struct kobject *k;
|
||||
|
||||
if (!parent)
|
||||
return NULL;
|
||||
|
||||
k = kzalloc(sizeof(*k), GFP_KERNEL);
|
||||
if (!k)
|
||||
return NULL;
|
||||
|
||||
k->parent = parent;
|
||||
k->ktype = &dir_ktype;
|
||||
kobject_set_name(k, name);
|
||||
kobject_register(k);
|
||||
|
||||
return k;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(kobject_add_dir);
|
||||
|
||||
/**
|
||||
* kset_init - initialize a kset for use
|
||||
* @k: kset
|
||||
|
|
Загрузка…
Ссылка в новой задаче