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

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Greg Kroah-Hartman 2007-09-27 14:48:53 -07:00
parent e89a4116ef
commit 6adf7554b9

View File

@ -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 * A kset defines a group of kobjects. They can be individually
* type. This type may have a descriptor, which the kset points * different "types" but overall these kobjects all want to be grouped
* to. This allows there to exist sets of objects of the same * together and operated on in the same manner. ksets are used to
* type in different subsystems. * define the attribute callbacks and other common events that happen to
* a kobject.
* *
* A subsystem does not have to be a list of only one type * @ktype: the struct kobj_type for this specific kset
* of object; multiple ksets can belong to one subsystem. All * @list: the list of all kobjects for this kset
* ksets of a subsystem share the subsystem's lock. * @list_lock: a lock for iterating over the kobjects
* * @kobj: the embedded kobject for this kset (recursion, isn't it fun...)
* Each kset can support specific event variables; it can * @uevent_ops: the set of uevent operations for this kset. These are
* supress the event generation or add subsystem specific * called whenever a kobject has something happen to it so that the kset
* variables carried with the event. * 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;
}; };