Commit f9fc82ad authored by Arthur Jones's avatar Arthur Jones Committed by Linus Torvalds

edac: core fix static to dynamic kset

Static kobjects and ksets are not supported in Linux kernel.  Convert the
mc_kset from static to dynamic.  This patch depends on my previous patch
to remove the module parameter attributes from mc...
Signed-off-by: default avatarArthur Jones <ajones@riverbed.com>
Signed-off-by: default avatarDoug Thompson <dougthompson@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 327dafb1
...@@ -645,7 +645,7 @@ static struct kobj_type ktype_mci = { ...@@ -645,7 +645,7 @@ static struct kobj_type ktype_mci = {
/* EDAC memory controller sysfs kset: /* EDAC memory controller sysfs kset:
* /sys/devices/system/edac/mc * /sys/devices/system/edac/mc
*/ */
static struct kset mc_kset; static struct kset *mc_kset;
/* /*
* edac_mc_register_sysfs_main_kobj * edac_mc_register_sysfs_main_kobj
...@@ -676,7 +676,7 @@ int edac_mc_register_sysfs_main_kobj(struct mem_ctl_info *mci) ...@@ -676,7 +676,7 @@ int edac_mc_register_sysfs_main_kobj(struct mem_ctl_info *mci)
} }
/* this instance become part of the mc_kset */ /* this instance become part of the mc_kset */
kobj_mci->kset = &mc_kset; kobj_mci->kset = mc_kset;
/* register the mc<id> kobject to the mc_kset */ /* register the mc<id> kobject to the mc_kset */
err = kobject_init_and_add(kobj_mci, &ktype_mci, NULL, err = kobject_init_and_add(kobj_mci, &ktype_mci, NULL,
...@@ -906,12 +906,9 @@ int edac_sysfs_setup_mc_kset(void) ...@@ -906,12 +906,9 @@ int edac_sysfs_setup_mc_kset(void)
} }
/* Init the MC's kobject */ /* Init the MC's kobject */
kobject_set_name(&mc_kset.kobj, "mc"); mc_kset = kset_create_and_add("mc", NULL, &edac_class->kset.kobj);
mc_kset.kobj.parent = &edac_class->kset.kobj; if (!mc_kset) {
err = -ENOMEM;
/* register the mc_kset */
err = kset_register(&mc_kset);
if (err) {
debugf1("%s() Failed to register '.../edac/mc'\n", __func__); debugf1("%s() Failed to register '.../edac/mc'\n", __func__);
goto fail_out; goto fail_out;
} }
...@@ -933,6 +930,6 @@ int edac_sysfs_setup_mc_kset(void) ...@@ -933,6 +930,6 @@ int edac_sysfs_setup_mc_kset(void)
*/ */
void edac_sysfs_teardown_mc_kset(void) void edac_sysfs_teardown_mc_kset(void)
{ {
kset_unregister(&mc_kset); kset_unregister(mc_kset);
} }
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