提交 6adf7554 编写于 作者: G Greg Kroah-Hartman

kset: add some kerneldoc to help describe what these strange things are

Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 e89a4116
...@@ -117,29 +117,30 @@ struct kset_uevent_ops { ...@@ -117,29 +117,30 @@ struct kset_uevent_ops {
struct kobj_uevent_env *env); struct kobj_uevent_env *env);
}; };
/* /**
* struct kset - a set of kobjects of a specific type, belonging * struct kset - a set of kobjects of a specific type, belonging to a specific subsystem.
* to a specific subsystem.
*
* All kobjects of a kset should be embedded in an identical
* type. This type may have a descriptor, which the kset points
* to. This allows there to exist sets of objects of the same
* type in different subsystems.
* *
* A subsystem does not have to be a list of only one type * A kset defines a group of kobjects. They can be individually
* of object; multiple ksets can belong to one subsystem. All * different "types" but overall these kobjects all want to be grouped
* ksets of a subsystem share the subsystem's lock. * together and operated on in the same manner. ksets are used to
* define the attribute callbacks and other common events that happen to
* a kobject.
* *
* Each kset can support specific event variables; it can * @ktype: the struct kobj_type for this specific kset
* supress the event generation or add subsystem specific * @list: the list of all kobjects for this kset
* variables carried with the event. * @list_lock: a lock for iterating over the kobjects
* @kobj: the embedded kobject for this kset (recursion, isn't it fun...)
* @uevent_ops: the set of uevent operations for this kset. These are
* called whenever a kobject has something happen to it so that the kset
* can add new environment variables, or filter out the uevents if so
* desired.
*/ */
struct kset { struct kset {
struct kobj_type * ktype; struct kobj_type *ktype;
struct list_head list; struct list_head list;
spinlock_t list_lock; spinlock_t list_lock;
struct kobject kobj; struct kobject kobj;
struct kset_uevent_ops * uevent_ops; struct kset_uevent_ops *uevent_ops;
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册