samples/kobject: add is_visible() callback to attribute group

There was no example for the is_visible() callback so far.

It will also become an example and test for the constification of
'struct attribute' later.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://patch.msgid.link/20251029-sysfs-const-attr-prep-v5-5-ea7d745acff4@weissschuh.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Thomas Weißschuh
2025-10-29 09:12:14 +01:00
committed by Greg Kroah-Hartman
parent 7dd9fdb493
commit c301a2e2d7

View File

@@ -178,7 +178,22 @@ static struct attribute *foo_default_attrs[] = {
&bar_attribute.attr,
NULL, /* need to NULL terminate the list of attributes */
};
ATTRIBUTE_GROUPS(foo_default);
static umode_t foo_default_attrs_is_visible(struct kobject *kobj,
struct attribute *attr,
int n)
{
/* Hide attributes with the same name as the kobject. */
if (strcmp(kobject_name(kobj), attr->name) == 0)
return 0;
return attr->mode;
}
static const struct attribute_group foo_default_group = {
.attrs = foo_default_attrs,
.is_visible = foo_default_attrs_is_visible,
};
__ATTRIBUTE_GROUPS(foo_default);
/*
* Our own ktype for our kobjects. Here we specify our sysfs ops, the