lkml.org 
[lkml]   [2007]   [Dec]   [20]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateThu, 20 Dec 2007 10:04:26 +0100 (CET)
FromJan Engelhardt <>
SubjectRe: [RFC] kobject/kset/ktype documentation and example code updated
On Dec 19 2007 16:30, Greg KH wrote:
>See the example module, samples/kobject/kobject-example.c for an
>implementation of a simple kobject and attributes.

Should mention here that if simple types are enough and a callback
function is not needed, a module_param() could be used instead.

>As a kset contains a kobject within it, it should always be dynamically
>created and never declared statically or on the stack.  To create a new
>kset use:>  struct kset *kset_create_and_add(char *name,
>				   struct kset_uevent_ops *u,
>				   struct kobject *parent);
Hmm... Not const char *?

>If a kset wishes to control the uevent operations of the kobjects
>associated with it, it can use the struct kset_uevent_ops to handle it:
>>struct kset_uevent_ops {>        int (*filter)(struct kset *kset, struct kobject *kobj);
>        const char *(*name)(struct kset *kset, struct kobject *kobj);
>        int (*uevent)(struct kset *kset, struct kobject *kobj,
>                      struct kobj_uevent_env *env);
>};
>
>
>The filter function allows a kset to prevent a uevent from being emitted to
>userspace for a specific kobject.  If the function returns 0, the uevent
>will not be emitted.
>
What about other return values? Should filter perhaps return bool instead?



\
 
 \ /
  Last update: 2007-12-20 10:07    [from the cache]
©2003-2008