Lines Matching refs:that

12 abstraction upon which it is built - is that there is no obvious starting
16 adding detail as we go. To that end, here are some quick definitions of
32 - A ktype is the type of object that embeds a kobject. Every structure
33 that embeds a kobject needs a corresponding ktype. The ktype controls
39 safely ignore that implementation detail as the kset core code handles
67 So, for example, the UIO code in drivers/uio/uio.c has a structure that
76 just a matter of using the kobj member. Code that works with kobjects will
79 (such as assuming that the kobject is at the beginning of the structure)
116 Code which creates a kobject must, of course, initialize that object. Some
144 There is a function called kobject_set_name() but that is legacy cruft and
166 announce to the world that it has been created. This can be done with a
176 When the kobject is removed from the kernel (details on how to do that are
178 kobject core, so the caller does not have to worry about doing that by
196 reference count and, possibly, free the object. Note that kobject_init()
198 need to do a kobject_put() eventually to release that reference.
202 the kernel will contain a run-time check for kobjects that are created
205 If all that you want to use a kobject for is to provide a reference counter
213 Sometimes all that a developer wants is a way to create a simple directory
229 Both types of attributes used here, with a kobject that has been created
242 kobject generally does not know when that will happen; if it did, there
245 in as other portions of the kernel can get a reference on any kobject that
248 The end result is that a structure protected by a kobject cannot be freed
250 the direct control of the code which created the kobject. So that code must
272 until that method is called. If these constraints are not met, the code is
273 flawed. Note that the kernel will warn you if you forget to provide a
296 kobj_type structure; a pointer to that structure must be specified when you
304 The default_attrs pointer is a list of default attributes that will be
305 automatically created for any kobject that is registered with this ktype.
310 A kset is merely a collection of kobjects that want to be associated with
311 each other. There is no restriction that they be of the same ktype, but be
328 contain their own kobject, but that kobject is managed by the kset code and
333 the kobjects belonging to a kset have that kset (or, strictly, its embedded
369 that the uevent sends to userspace. By default, the name will be the same
370 as the kset itself, but this function, if present, can override that name.
375 One might ask how, exactly, a kobject is added to a kset, given that no
376 functions which perform that function have been presented. The answer is
377 that this task is handled by kobject_add(). When a kobject is passed to
391 must be cleaned up when the code is finished with it. To do that, call
405 circular references are constructed. It is valid in some cases, that a
407 with an explicit call to kobject_del(), so that a release functions will be