diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2007-09-27 14:48:53 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-01-24 20:40:10 -0800 |
commit | b727c702896f88d2ff6c3e03bd011d7c3dffe3e1 (patch) | |
tree | 772f0a3eb78a3e1d3475d36356bbff715a907829 /include | |
parent | 12d03da7c19366268bdbc9fb0cd08d719c0cc283 (diff) | |
download | linux-b727c702896f88d2ff6c3e03bd011d7c3dffe3e1.tar.gz linux-b727c702896f88d2ff6c3e03bd011d7c3dffe3e1.tar.bz2 linux-b727c702896f88d2ff6c3e03bd011d7c3dffe3e1.zip |
kset: add kset_create_and_add function
Now ksets can be dynamically created on the fly, no static definitions
are required. Thanks to Miklos for hints on how to make this work
better for the callers.
And thanks to Kay for finding some stupid bugs in my original version
and pointing out that we need to handle the fact that kobject's can have
a kset as a parent and to handle that properly in kobject_add().
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/kobject.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/kobject.h b/include/linux/kobject.h index 0b97b3a53917..f91aeb745664 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h @@ -150,11 +150,13 @@ struct kset { struct kset_uevent_ops *uevent_ops; }; - extern void kset_init(struct kset * k); extern int __must_check kset_add(struct kset * k); extern int __must_check kset_register(struct kset * k); extern void kset_unregister(struct kset * k); +extern struct kset * __must_check kset_create_and_add(const char *name, + struct kset_uevent_ops *u, + struct kobject *parent_kobj); static inline struct kset * to_kset(struct kobject * kobj) { |