From: Thomas Weißschuh Date: Wed, 29 Oct 2025 08:12:11 +0000 (+0100) Subject: sysfs: transparently handle const pointers in ATTRIBUTE_GROUPS() X-Git-Tag: v6.19-rc1~90^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=964c93b1eef37e3bbe0edb37346c076217d71fe7;p=thirdparty%2Flinux.git sysfs: transparently handle const pointers in ATTRIBUTE_GROUPS() To ease the constification process of 'struct attribute', transparently handle the const pointers in ATTRIBUTE_GROUPS(). A cast is used instead of assigning to .attrs_new as it keeps the macro smaller. As both members are aliased to each other the result is identical. Signed-off-by: Thomas Weißschuh Link: https://patch.msgid.link/20251029-sysfs-const-attr-prep-v5-2-ea7d745acff4@weissschuh.net Signed-off-by: Greg Kroah-Hartman --- diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index e34d6af96abb6..92f82cee5f11e 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -287,7 +287,12 @@ static const struct attribute_group *_name##_groups[] = { \ #define ATTRIBUTE_GROUPS(_name) \ static const struct attribute_group _name##_group = { \ - .attrs = _name##_attrs, \ + .attrs = _Generic(_name##_attrs, \ + struct attribute **: \ + _name##_attrs, \ + const struct attribute *const *: \ + (void *)_name##_attrs \ + ), \ }; \ __ATTRIBUTE_GROUPS(_name)