x86/CPU/AMD: Use default_groups in kobj_type
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Jan 2022 10:35:37 +0000 (11:35 +0100)
committerBorislav Petkov <bp@suse.de>
Tue, 1 Feb 2022 11:41:24 +0000 (12:41 +0100)
There are currently 2 ways to create a set of sysfs files for a
kobj_type, through the default_attrs field, and the default_groups
field. Move the AMD mce sysfs code to use default_groups field which has
been the preferred way since

  aa30f47cf666 ("kobject: Add support for default attribute groups to kobj_type")

so that the obsolete default_attrs field can be removed soon.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Yazen Ghannam <yazen.ghannam@amd.com>
Link: https://lore.kernel.org/r/20220106103537.3663852-1-gregkh@linuxfoundation.org
arch/x86/kernel/cpu/mce/amd.c

index 9f4b508..1940d30 100644 (file)
@@ -993,6 +993,7 @@ static struct attribute *default_attrs[] = {
        NULL,   /* possibly interrupt_enable if supported, see below */
        NULL,
 };
        NULL,   /* possibly interrupt_enable if supported, see below */
        NULL,
 };
+ATTRIBUTE_GROUPS(default);
 
 #define to_block(k)    container_of(k, struct threshold_block, kobj)
 #define to_attr(a)     container_of(a, struct threshold_attr, attr)
 
 #define to_block(k)    container_of(k, struct threshold_block, kobj)
 #define to_attr(a)     container_of(a, struct threshold_attr, attr)
@@ -1029,7 +1030,7 @@ static void threshold_block_release(struct kobject *kobj);
 
 static struct kobj_type threshold_ktype = {
        .sysfs_ops              = &threshold_ops,
 
 static struct kobj_type threshold_ktype = {
        .sysfs_ops              = &threshold_ops,
-       .default_attrs          = default_attrs,
+       .default_groups         = default_groups,
        .release                = threshold_block_release,
 };
 
        .release                = threshold_block_release,
 };
 
@@ -1101,10 +1102,10 @@ static int allocate_threshold_blocks(unsigned int cpu, struct threshold_bank *tb
        b->threshold_limit      = THRESHOLD_MAX;
 
        if (b->interrupt_capable) {
        b->threshold_limit      = THRESHOLD_MAX;
 
        if (b->interrupt_capable) {
-               threshold_ktype.default_attrs[2] = &interrupt_enable.attr;
+               default_attrs[2] = &interrupt_enable.attr;
                b->interrupt_enable = 1;
        } else {
                b->interrupt_enable = 1;
        } else {
-               threshold_ktype.default_attrs[2] = NULL;
+               default_attrs[2] = NULL;
        }
 
        INIT_LIST_HEAD(&b->miscj);
        }
 
        INIT_LIST_HEAD(&b->miscj);