Commit 625c6b55 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman Committed by Borislav Petkov

EDAC: Use default_groups in kobj_type

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 edac sysfs code to use default_groups field which has
been the preferred way since

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

so that the obsolete default_attrs field can be removed soon.
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220104112401.1067148-2-gregkh@linuxfoundation.org
parent 11413893
...@@ -163,13 +163,14 @@ CTL_INFO_ATTR(poll_msec, S_IRUGO | S_IWUSR, ...@@ -163,13 +163,14 @@ CTL_INFO_ATTR(poll_msec, S_IRUGO | S_IWUSR,
edac_device_ctl_poll_msec_show, edac_device_ctl_poll_msec_store); edac_device_ctl_poll_msec_show, edac_device_ctl_poll_msec_store);
/* Base Attributes of the EDAC_DEVICE ECC object */ /* Base Attributes of the EDAC_DEVICE ECC object */
static struct attribute *device_ctrl_attr[] = { static struct attribute *device_ctrl_attrs[] = {
&attr_ctl_info_panic_on_ue.attr, &attr_ctl_info_panic_on_ue.attr,
&attr_ctl_info_log_ue.attr, &attr_ctl_info_log_ue.attr,
&attr_ctl_info_log_ce.attr, &attr_ctl_info_log_ce.attr,
&attr_ctl_info_poll_msec.attr, &attr_ctl_info_poll_msec.attr,
NULL, NULL,
}; };
ATTRIBUTE_GROUPS(device_ctrl);
/* /*
* edac_device_ctrl_master_release * edac_device_ctrl_master_release
...@@ -217,7 +218,7 @@ static void edac_device_ctrl_master_release(struct kobject *kobj) ...@@ -217,7 +218,7 @@ static void edac_device_ctrl_master_release(struct kobject *kobj)
static struct kobj_type ktype_device_ctrl = { static struct kobj_type ktype_device_ctrl = {
.release = edac_device_ctrl_master_release, .release = edac_device_ctrl_master_release,
.sysfs_ops = &device_ctl_info_ops, .sysfs_ops = &device_ctl_info_ops,
.default_attrs = device_ctrl_attr, .default_groups = device_ctrl_groups,
}; };
/* /*
...@@ -389,17 +390,18 @@ INSTANCE_ATTR(ce_count, S_IRUGO, instance_ce_count_show, NULL); ...@@ -389,17 +390,18 @@ INSTANCE_ATTR(ce_count, S_IRUGO, instance_ce_count_show, NULL);
INSTANCE_ATTR(ue_count, S_IRUGO, instance_ue_count_show, NULL); INSTANCE_ATTR(ue_count, S_IRUGO, instance_ue_count_show, NULL);
/* list of edac_dev 'instance' attributes */ /* list of edac_dev 'instance' attributes */
static struct attribute *device_instance_attr[] = { static struct attribute *device_instance_attrs[] = {
&attr_instance_ce_count.attr, &attr_instance_ce_count.attr,
&attr_instance_ue_count.attr, &attr_instance_ue_count.attr,
NULL, NULL,
}; };
ATTRIBUTE_GROUPS(device_instance);
/* The 'ktype' for each edac_dev 'instance' */ /* The 'ktype' for each edac_dev 'instance' */
static struct kobj_type ktype_instance_ctrl = { static struct kobj_type ktype_instance_ctrl = {
.release = edac_device_ctrl_instance_release, .release = edac_device_ctrl_instance_release,
.sysfs_ops = &device_instance_ops, .sysfs_ops = &device_instance_ops,
.default_attrs = device_instance_attr, .default_groups = device_instance_groups,
}; };
/* edac_dev -> instance -> block information */ /* edac_dev -> instance -> block information */
...@@ -487,17 +489,18 @@ BLOCK_ATTR(ce_count, S_IRUGO, block_ce_count_show, NULL); ...@@ -487,17 +489,18 @@ BLOCK_ATTR(ce_count, S_IRUGO, block_ce_count_show, NULL);
BLOCK_ATTR(ue_count, S_IRUGO, block_ue_count_show, NULL); BLOCK_ATTR(ue_count, S_IRUGO, block_ue_count_show, NULL);
/* list of edac_dev 'block' attributes */ /* list of edac_dev 'block' attributes */
static struct attribute *device_block_attr[] = { static struct attribute *device_block_attrs[] = {
&attr_block_ce_count.attr, &attr_block_ce_count.attr,
&attr_block_ue_count.attr, &attr_block_ue_count.attr,
NULL, NULL,
}; };
ATTRIBUTE_GROUPS(device_block);
/* The 'ktype' for each edac_dev 'block' */ /* The 'ktype' for each edac_dev 'block' */
static struct kobj_type ktype_block_ctrl = { static struct kobj_type ktype_block_ctrl = {
.release = edac_device_ctrl_block_release, .release = edac_device_ctrl_block_release,
.sysfs_ops = &device_block_ops, .sysfs_ops = &device_block_ops,
.default_attrs = device_block_attr, .default_groups = device_block_groups,
}; };
/* block ctor/dtor code */ /* block ctor/dtor code */
......
...@@ -135,17 +135,18 @@ INSTANCE_ATTR(pe_count, S_IRUGO, instance_pe_count_show, NULL); ...@@ -135,17 +135,18 @@ INSTANCE_ATTR(pe_count, S_IRUGO, instance_pe_count_show, NULL);
INSTANCE_ATTR(npe_count, S_IRUGO, instance_npe_count_show, NULL); INSTANCE_ATTR(npe_count, S_IRUGO, instance_npe_count_show, NULL);
/* pci instance attributes */ /* pci instance attributes */
static struct attribute *pci_instance_attr[] = { static struct attribute *pci_instance_attrs[] = {
&attr_instance_pe_count.attr, &attr_instance_pe_count.attr,
&attr_instance_npe_count.attr, &attr_instance_npe_count.attr,
NULL NULL
}; };
ATTRIBUTE_GROUPS(pci_instance);
/* the ktype for a pci instance */ /* the ktype for a pci instance */
static struct kobj_type ktype_pci_instance = { static struct kobj_type ktype_pci_instance = {
.release = edac_pci_instance_release, .release = edac_pci_instance_release,
.sysfs_ops = &pci_instance_ops, .sysfs_ops = &pci_instance_ops,
.default_attrs = pci_instance_attr, .default_groups = pci_instance_groups,
}; };
/* /*
...@@ -292,7 +293,7 @@ EDAC_PCI_ATTR(pci_parity_count, S_IRUGO, edac_pci_int_show, NULL); ...@@ -292,7 +293,7 @@ EDAC_PCI_ATTR(pci_parity_count, S_IRUGO, edac_pci_int_show, NULL);
EDAC_PCI_ATTR(pci_nonparity_count, S_IRUGO, edac_pci_int_show, NULL); EDAC_PCI_ATTR(pci_nonparity_count, S_IRUGO, edac_pci_int_show, NULL);
/* Base Attributes of the memory ECC object */ /* Base Attributes of the memory ECC object */
static struct attribute *edac_pci_attr[] = { static struct attribute *edac_pci_attrs[] = {
&edac_pci_attr_check_pci_errors.attr, &edac_pci_attr_check_pci_errors.attr,
&edac_pci_attr_edac_pci_log_pe.attr, &edac_pci_attr_edac_pci_log_pe.attr,
&edac_pci_attr_edac_pci_log_npe.attr, &edac_pci_attr_edac_pci_log_npe.attr,
...@@ -301,6 +302,7 @@ static struct attribute *edac_pci_attr[] = { ...@@ -301,6 +302,7 @@ static struct attribute *edac_pci_attr[] = {
&edac_pci_attr_pci_nonparity_count.attr, &edac_pci_attr_pci_nonparity_count.attr,
NULL, NULL,
}; };
ATTRIBUTE_GROUPS(edac_pci);
/* /*
* edac_pci_release_main_kobj * edac_pci_release_main_kobj
...@@ -327,7 +329,7 @@ static void edac_pci_release_main_kobj(struct kobject *kobj) ...@@ -327,7 +329,7 @@ static void edac_pci_release_main_kobj(struct kobject *kobj)
static struct kobj_type ktype_edac_pci_main_kobj = { static struct kobj_type ktype_edac_pci_main_kobj = {
.release = edac_pci_release_main_kobj, .release = edac_pci_release_main_kobj,
.sysfs_ops = &edac_pci_sysfs_ops, .sysfs_ops = &edac_pci_sysfs_ops,
.default_attrs = edac_pci_attr, .default_groups = edac_pci_groups,
}; };
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment