Loading Documentation/kobject.txt +2 −19 Original line number Diff line number Diff line Loading @@ -54,7 +54,6 @@ embedded in larger data structures and replace fields they duplicate. struct kobject { const char * k_name; char name[KOBJ_NAME_LEN]; struct kref kref; struct list_head entry; struct kobject * parent; Loading Loading @@ -223,18 +222,15 @@ decl_subsys(devices, &ktype_device, &device_uevent_ops); is equivalent to doing: struct kset devices_subsys = { .kobj = { .name = "devices", }, .ktype = &ktype_devices, .uevent_ops = &device_uevent_ops, }; kobject_set_name(&devices_subsys, name); The objects that are registered with a subsystem that use the subsystem's default list must have their kset ptr set properly. These objects may have embedded kobjects or ksets. The following helpers make setting the kset easier: following helper makes setting the kset easier: kobj_set_kset_s(obj,subsys) Loading @@ -242,22 +238,9 @@ kobj_set_kset_s(obj,subsys) - Assumes that obj->kobj exists, and is a struct kobject. - Sets the kset of that kobject to the kset <subsys>. kset_set_kset_s(obj,subsys) - Assumes that obj->kset exists, and is a struct kset. - Sets the kset of the embedded kobject to the kset <subsys>. subsys_set_kset(obj,subsys) - Assumes obj->subsys exists, and is a struct subsystem. - Sets obj->subsys.kset.kobj.kset to the subsystem's embedded kset. void subsystem_init(struct kset *s); int subsystem_register(struct kset *s); void subsystem_unregister(struct kset *s); struct kset *subsys_get(struct kset *s); void kset_put(struct kset *s); These are just wrappers around the respective kset_* functions. Loading Loading
Documentation/kobject.txt +2 −19 Original line number Diff line number Diff line Loading @@ -54,7 +54,6 @@ embedded in larger data structures and replace fields they duplicate. struct kobject { const char * k_name; char name[KOBJ_NAME_LEN]; struct kref kref; struct list_head entry; struct kobject * parent; Loading Loading @@ -223,18 +222,15 @@ decl_subsys(devices, &ktype_device, &device_uevent_ops); is equivalent to doing: struct kset devices_subsys = { .kobj = { .name = "devices", }, .ktype = &ktype_devices, .uevent_ops = &device_uevent_ops, }; kobject_set_name(&devices_subsys, name); The objects that are registered with a subsystem that use the subsystem's default list must have their kset ptr set properly. These objects may have embedded kobjects or ksets. The following helpers make setting the kset easier: following helper makes setting the kset easier: kobj_set_kset_s(obj,subsys) Loading @@ -242,22 +238,9 @@ kobj_set_kset_s(obj,subsys) - Assumes that obj->kobj exists, and is a struct kobject. - Sets the kset of that kobject to the kset <subsys>. kset_set_kset_s(obj,subsys) - Assumes that obj->kset exists, and is a struct kset. - Sets the kset of the embedded kobject to the kset <subsys>. subsys_set_kset(obj,subsys) - Assumes obj->subsys exists, and is a struct subsystem. - Sets obj->subsys.kset.kobj.kset to the subsystem's embedded kset. void subsystem_init(struct kset *s); int subsystem_register(struct kset *s); void subsystem_unregister(struct kset *s); struct kset *subsys_get(struct kset *s); void kset_put(struct kset *s); These are just wrappers around the respective kset_* functions. Loading