/* reset bios to defaults */
 static const char * const reset_types[] = {"builtinsafe", "lastknowngood", "factory", "custom"};
 static int reset_option = -1;
-static const struct class *fw_attr_class;
 
 
 /**
                goto err_exit_bios_attr_pass_interface;
        }
 
-       ret = fw_attributes_class_get(&fw_attr_class);
-       if (ret)
-               goto err_exit_bios_attr_pass_interface;
-
-       wmi_priv.class_dev = device_create(fw_attr_class, NULL, MKDEV(0, 0),
+       wmi_priv.class_dev = device_create(&firmware_attributes_class, NULL, MKDEV(0, 0),
                                  NULL, "%s", DRIVER_NAME);
        if (IS_ERR(wmi_priv.class_dev)) {
                ret = PTR_ERR(wmi_priv.class_dev);
-               goto err_unregister_class;
+               goto err_exit_bios_attr_pass_interface;
        }
 
        wmi_priv.main_dir_kset = kset_create_and_add("attributes", NULL,
        release_attributes_data();
 
 err_destroy_classdev:
-       device_destroy(fw_attr_class, MKDEV(0, 0));
-
-err_unregister_class:
-       fw_attributes_class_put();
+       device_destroy(&firmware_attributes_class, MKDEV(0, 0));
 
 err_exit_bios_attr_pass_interface:
        exit_bios_attr_pass_interface();
 static void __exit sysman_exit(void)
 {
        release_attributes_data();
-       device_destroy(fw_attr_class, MKDEV(0, 0));
-       fw_attributes_class_put();
+       device_destroy(&firmware_attributes_class, MKDEV(0, 0));
        exit_bios_attr_set_interface();
        exit_bios_attr_pass_interface();
 }