Messages in this thread | | | Date | Thu, 20 Dec 2007 13:16:01 -0800 | From | Greg KH <> | Subject | Re: [RFC] kobject/kset/ktype documentation and example code updated |
| |
On Thu, Dec 20, 2007 at 10:04:26AM +0100, Jan Engelhardt wrote: > > 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.
Nah, why? module paramaters are pretty well known already :)
> >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 *?
good catch, that's what the .h file shows :)
> >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?
Probably, it was created before there was a 'bool' in the kernel.
thanks,
greg k-h
| |