issues dealing with kobjects

enjoy mindful enjoymindful at gmail.com
Fri Jun 20 02:22:28 EDT 2014


You have two *different* local pointer with same name.

On Fri, Jun 20, 2014 at 2:01 PM, Raghavendra <arrao at cdac.in> wrote:
> Hello all,
>
> I am facing a small issue dealing with kobjects.
> I am writing a simple i2c driver for which I would like to export a few
> sysfs attributes(files).
> The files are many, so I've decided to pack them into a directory in
> sysfs (inside the i2c device) and so I thought of kobjects.
>
> My private data struture is something like this :
> struct my_private {
>      struct i2c_client *client;
>      ...
>      struct kobject kobj;
> };
>
> In my probe function, I am doing something like this :
> int my_probe(struct i2c_client *client, ...)
> {
>      struct my_private *dev;
>
>      dev = devm_kzalloc(...);
>      pr_info("%x", dev);                    /* The address that I got is
> : 0xdbf94210 */
>
>      ....
>
>      /* Init. and add kboject */
>      kobject_init(&dev->kobj, client->dev.kobj.ktype);
>      kobject_add(&dev->kobj, &client->dev.kobj, "my_dir");
>
>      /* Export sysfs group */
>      sysfs_create_group(&dev->kobj, &my_attr_grp);
>
>      ....
> }
>
> My show function for one of the attribute is something like this :
> ssize_t show(struct kobject *kobj, ... )
> {
>      struct my_private *dev = container_of(kobj, struct my_private, kobj);
>      pr_info("%x", dev);                    /* The address that I got is
> : 0xdbf94208 */
>
>      ....
> }
>
> I tried to probe and remove the device mutilple times. Every time I am
> getting a difference of 2bytes for the 'dev'
> pointer between probe and show functions.
>
> Can anyone explain me where am I going wrong or is there any better way
> to create directories in sysfs?
> I am building this module against 3.13.2 kernel.
>
> Thank you.
> Raghavendra.
>
>
>
> -------------------------------------------------------------------------------------------------------------------------------
> [ C-DAC is on Social-Media too. Kindly follow us at:
> Facebook: https://www.facebook.com/CDACINDIA & Twitter: @cdacindia ]
>
> This e-mail is for the sole use of the intended recipient(s) and may
> contain confidential and privileged information. If you are not the
> intended recipient, please contact the sender by reply e-mail and destroy
> all copies and the original message. Any unauthorized review, use,
> disclosure, dissemination, forwarding, printing or copying of this email
> is strictly prohibited and appropriate legal action will be taken.
> -------------------------------------------------------------------------------------------------------------------------------
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list