Parcourir la source

Kobject: change arch/x86/kernel/cpu/mcheck/mce_amd_64.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Jacob Shin <jacob.shin@amd.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg Kroah-Hartman il y a 17 ans
Parent
commit
542eb75a27
1 fichiers modifiés avec 5 ajouts et 4 suppressions
  1. 5 4
      arch/x86/kernel/cpu/mcheck/mce_amd_64.c

+ 5 - 4
arch/x86/kernel/cpu/mcheck/mce_amd_64.c

@@ -432,10 +432,9 @@ static __cpuinit int allocate_threshold_blocks(unsigned int cpu,
 	else
 	else
 		per_cpu(threshold_banks, cpu)[bank]->blocks = b;
 		per_cpu(threshold_banks, cpu)[bank]->blocks = b;
 
 
-	kobject_set_name(&b->kobj, "misc%i", block);
-	b->kobj.parent = per_cpu(threshold_banks, cpu)[bank]->kobj;
-	b->kobj.ktype = &threshold_ktype;
-	err = kobject_register(&b->kobj);
+	err = kobject_init_and_add(&b->kobj, &threshold_ktype,
+				   per_cpu(threshold_banks, cpu)[bank]->kobj,
+				   "misc%i", block);
 	if (err)
 	if (err)
 		goto out_free;
 		goto out_free;
 recurse:
 recurse:
@@ -451,6 +450,8 @@ recurse:
 	if (err)
 	if (err)
 		goto out_free;
 		goto out_free;
 
 
+	kobject_uevent(&b->kobj, KOBJ_ADD);
+
 	return err;
 	return err;
 
 
 out_free:
 out_free: