Re: [RFC] kobject/kset/ktype documentation and example code updated
From: Greg KH
Date: Thu Dec 20 2007 - 16:52:40 EST
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/