Messages in this thread | | | Date | Fri, 25 Jan 2008 09:51:06 -0800 | From | Greg KH <> | Subject | Re: [PATCH 044/196] kset: add kset_create_and_add function |
| |
On Fri, Jan 25, 2008 at 05:09:41PM +0800, Dave Young wrote: > On Jan 25, 2008 3:09 PM, Greg Kroah-Hartman <gregkh@suse.de> wrote: > > +/** > > + * kset_create_and_add - create a struct kset dynamically and add it to sysfs > > + * > > + * @name: the name for the kset > > + * @uevent_ops: a struct kset_uevent_ops for the kset > > + * @parent_kobj: the parent kobject of this kset, if any. > > + * > > + * This function creates a kset structure dynamically and registers it > > + * with sysfs. When you are finished with this structure, call > > + * kset_unregister() and the structure will be dynamically freed when it > > + * is no longer being used. > > + * > > + * If the kset was not able to be created, NULL will be returned. > > + */ > > +struct kset *kset_create_and_add(const char *name, > > + struct kset_uevent_ops *uevent_ops, > > + struct kobject *parent_kobj) > > +{ > > + struct kset *kset; > > + int error; > > + > > + kset = kset_create(name, uevent_ops, parent_kobj); > > + if (!kset) > > + return NULL; > > + error = kset_register(kset); > > + if (error) { > > + kfree(kset); > > How about : kobject_put(&kset->kobj);
At this point in the object's lifetime, it is the same exact thing.
So both are correct :)
thanks,
greg k-h
| |