aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firmware/efivars.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2007-10-16 12:11:44 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-01-24 23:40:10 -0500
commit3514faca19a6fdc209734431c509631ea92b094e (patch)
treef6d102e6dec276f8e8d1044b47c74a02b901554f /drivers/firmware/efivars.c
parentc11c4154e7ff4cebfadad849b1e22689d759c3f4 (diff)
kobject: remove struct kobj_type from struct kset
We don't need a "default" ktype for a kset. We should set this explicitly every time for each kset. This change is needed so that we can make ksets dynamic, and cleans up one of the odd, undocumented assumption that the kset/kobject/ktype model has. This patch is based on a lot of help from Kay Sievers. Nasty bug in the block code was found by Dave Young <hidave.darkstar@gmail.com> Cc: Kay Sievers <kay.sievers@vrfy.org> Cc: Dave Young <hidave.darkstar@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/firmware/efivars.c')
-rw-r--r--drivers/firmware/efivars.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
index 858a7b95933b..06ecdb9f6013 100644
--- a/drivers/firmware/efivars.c
+++ b/drivers/firmware/efivars.c
@@ -583,8 +583,8 @@ static struct subsys_attribute *efi_subsys_attrs[] = {
583 NULL, /* maybe more in the future? */ 583 NULL, /* maybe more in the future? */
584}; 584};
585 585
586static decl_subsys(vars, &efivar_ktype, NULL); 586static decl_subsys(vars, NULL);
587static decl_subsys(efi, NULL, NULL); 587static decl_subsys(efi, NULL);
588 588
589/* 589/*
590 * efivar_create_sysfs_entry() 590 * efivar_create_sysfs_entry()
@@ -629,7 +629,8 @@ efivar_create_sysfs_entry(unsigned long variable_name_size,
629 efi_guid_unparse(vendor_guid, short_name + strlen(short_name)); 629 efi_guid_unparse(vendor_guid, short_name + strlen(short_name));
630 630
631 kobject_set_name(&new_efivar->kobj, "%s", short_name); 631 kobject_set_name(&new_efivar->kobj, "%s", short_name);
632 kobj_set_kset_s(new_efivar, vars_subsys); 632 new_efivar->kobj.kset = &vars_subsys;
633 new_efivar->kobj.ktype = &efivar_ktype;
633 i = kobject_register(&new_efivar->kobj); 634 i = kobject_register(&new_efivar->kobj);
634 if (i) { 635 if (i) {
635 kfree(short_name); 636 kfree(short_name);
@@ -687,7 +688,7 @@ efivars_init(void)
687 goto out_free; 688 goto out_free;
688 } 689 }
689 690
690 kobj_set_kset_s(&vars_subsys, efi_subsys); 691 vars_subsys.kobj.kset = &efi_subsys;
691 692
692 error = subsystem_register(&vars_subsys); 693 error = subsystem_register(&vars_subsys);
693 694