The kobj_type structure This structure looks like: struct kobj_type { void (*release)(struct kobject *); struct sysfs_ops *sysfs_ops; struct attribute **default_attrs; }; When designing your object type Create one or more release functions cdev has two, for static and dynamic structures Create an associated kobj_type structure Store the ktype pointer for every object created In kobject->ktype ...or in the kset