Attr Groups in sysfs.

Gasparini Andrea gaspa at yattaweb.it
Mon Apr 18 05:45:23 EDT 2011


Hi,

I've a pattern similar to this in sysfs: /sys/.../mykobj/myattr_group/attr.
And I've some different attr groups, but I'm willing to group also the
get/set functions and recognize at runtime which kobj,group,and
attribute is called inside the functions.

But, if I'm not wrong the attribute functions are called:

static ssize_t some_attribute_set(struct kobject *kobj,
        struct container_attribute *attr, const char *buf, size_t count)

And I can get the "mykobj" name with kobj->name,
and attribute names by attr->attr.name.

I'm missing only the myattr_group name... anyone has a clue of how can
I access this?




Just for completeness, I'm working on a 2.6.38 kernel, and  I'm
declaring the groups this way:

struct container_attribute {
    struct attribute    attr;
    ssize_t (*show)(struct kobject *, struct container_attribute *, char *);
    ssize_t (*store)(struct kobject *, struct container_attribute *,
const char *, size_t);
};

static struct attribute *lot_of_attrs[] = {
    first_attribute.attr,
    and_so_on.attr,
    NULL,
};

static struct attribute_group my_attr_group_0 = {
    .name = "myattr_group_0",
    .attrs = lots_of_attrs,
};

And adding to my kobject this way:
    retval = sysfs_create_group(mykobj, &my_attr_group_0);


Thanks, bye!
--
-gaspa-



More information about the Kernelnewbies mailing list