aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/firmware/efivars.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
index d1ad48190afc..7f9f086106cc 100644
--- a/drivers/firmware/efivars.c
+++ b/drivers/firmware/efivars.c
@@ -573,7 +573,7 @@ static struct attribute_group efi_subsys_attr_group = {
573 573
574 574
575static struct kset *vars_kset; 575static struct kset *vars_kset;
576static struct kset *efi_kset; 576static struct kobject *efi_kobj;
577 577
578/* 578/*
579 * efivar_create_sysfs_entry() 579 * efivar_create_sysfs_entry()
@@ -665,17 +665,15 @@ efivars_init(void)
665 printk(KERN_INFO "EFI Variables Facility v%s %s\n", EFIVARS_VERSION, 665 printk(KERN_INFO "EFI Variables Facility v%s %s\n", EFIVARS_VERSION,
666 EFIVARS_DATE); 666 EFIVARS_DATE);
667 667
668 /* 668 /* For now we'll register the efi directory at /sys/firmware/efi */
669 * For now we'll register the efi subsys within this driver 669 efi_kobj = kobject_create_and_add("efi", firmware_kobj);
670 */ 670 if (!efi_kobj) {
671 efi_kset = kset_create_and_add("efi", NULL, firmware_kobj);
672 if (!efi_kset) {
673 printk(KERN_ERR "efivars: Firmware registration failed.\n"); 671 printk(KERN_ERR "efivars: Firmware registration failed.\n");
674 error = -ENOMEM; 672 error = -ENOMEM;
675 goto out_free; 673 goto out_free;
676 } 674 }
677 675
678 vars_kset = kset_create_and_add("vars", NULL, &efi_kset->kobj); 676 vars_kset = kset_create_and_add("vars", NULL, efi_kobj);
679 if (!vars_kset) { 677 if (!vars_kset) {
680 printk(KERN_ERR "efivars: Subsystem registration failed.\n"); 678 printk(KERN_ERR "efivars: Subsystem registration failed.\n");
681 error = -ENOMEM; 679 error = -ENOMEM;
@@ -725,7 +723,7 @@ efivars_init(void)
725 " due to error %d\n", error); 723 " due to error %d\n", error);
726 724
727 /* Don't forget the systab entry */ 725 /* Don't forget the systab entry */
728 error = sysfs_create_group(&efi_kset->kobj, &efi_subsys_attr_group); 726 error = sysfs_create_group(efi_kobj, &efi_subsys_attr_group);
729 if (error) 727 if (error)
730 printk(KERN_ERR "efivars: Sysfs attribute export failed with error %d.\n", error); 728 printk(KERN_ERR "efivars: Sysfs attribute export failed with error %d.\n", error);
731 else 729 else
@@ -734,7 +732,7 @@ efivars_init(void)
734 kset_unregister(vars_kset); 732 kset_unregister(vars_kset);
735 733
736out_firmware_unregister: 734out_firmware_unregister:
737 kset_unregister(efi_kset); 735 kobject_unregister(efi_kobj);
738 736
739out_free: 737out_free:
740 kfree(variable_name); 738 kfree(variable_name);
@@ -755,7 +753,7 @@ efivars_exit(void)
755 } 753 }
756 754
757 kset_unregister(vars_kset); 755 kset_unregister(vars_kset);
758 kset_unregister(efi_kset); 756 kobject_unregister(efi_kobj);
759} 757}
760 758
761module_init(efivars_init); 759module_init(efivars_init);