Adding a kobject in the device model hierarchy
Dear All, I have written one pseudo char driver. I have initialized the device generic structure with cdev_init function. This will initialize the kobject structure embedded within struct cdev with appropriate ktype. If I want to add this kobject in /sys/devices/virtual/misc/ location of sysfs, how is the following fields set * kobj->parent * kobj->kset * kobj->kset->obj. Also, in general how to look out for the parent kobject ? Would like to know, if there are mechanisms provisioned by Linux Kernel. Robert: My 2 cents as I am reading the LKD(3rd edition), it would be appropriate to add one example as a solution to the above problem. Generally, it has been told as kobj->kset = my_kset in Page # 353. Note: Even in LDD(3rd editon page 369). It has been mentioned that "The kobject's kset field must be pointed at the kset of interest" Thanks, Prabhu
On Sat, Jan 01, 2011 at 09:58:11PM +0530, Prabhu nath wrote:
Dear All,
I have written one pseudo char driver. I have initialized the device generic structure with cdev_init function. This will initialize the kobject structure embedded within struct cdev with appropriate ktype.
But NEVER touch that kobject, it is not for your use at all.
If I want to add this kobject in /sys/devices/virtual/misc/ location of sysfs, how is the following fields set * kobj->parent * kobj->kset * kobj->kset->obj.
Nope, you need your own struct device, do not use the kobject in the cdev, again, it is NOT for use at all. It is private to a cdev and I need to figure out a way to make it so that you can't even see it one day to keep people from trying to use it. good luck, greg k-h
participants (2)
-
Greg KH -
Prabhu nath