13
13
#include <linux/kernel.h>
14
14
#include <linux/wmi.h>
15
15
#include "dell-wmi-sysman.h"
16
+ #include "../../firmware_attributes_class.h"
16
17
17
18
#define MAX_TYPES 4
18
19
#include <linux/nls.h>
19
20
20
- static struct class firmware_attributes_class = {
21
- .name = "firmware-attributes" ,
22
- };
23
-
24
21
struct wmi_sysman_priv wmi_priv = {
25
22
.mutex = __MUTEX_INITIALIZER (wmi_priv .mutex ),
26
23
};
27
24
28
25
/* reset bios to defaults */
29
26
static const char * const reset_types [] = {"builtinsafe" , "lastknowngood" , "factory" , "custom" };
30
27
static int reset_option = -1 ;
28
+ struct class * fw_attr_class ;
31
29
32
30
33
31
/**
@@ -542,11 +540,11 @@ static int __init sysman_init(void)
542
540
goto err_exit_bios_attr_pass_interface ;
543
541
}
544
542
545
- ret = class_register ( & firmware_attributes_class );
543
+ ret = fw_attributes_class_get ( & fw_attr_class );
546
544
if (ret )
547
545
goto err_exit_bios_attr_pass_interface ;
548
546
549
- wmi_priv .class_dev = device_create (& firmware_attributes_class , NULL , MKDEV (0 , 0 ),
547
+ wmi_priv .class_dev = device_create (fw_attr_class , NULL , MKDEV (0 , 0 ),
550
548
NULL , "%s" , DRIVER_NAME );
551
549
if (IS_ERR (wmi_priv .class_dev )) {
552
550
ret = PTR_ERR (wmi_priv .class_dev );
@@ -603,10 +601,10 @@ static int __init sysman_init(void)
603
601
release_attributes_data ();
604
602
605
603
err_destroy_classdev :
606
- device_destroy (& firmware_attributes_class , MKDEV (0 , 0 ));
604
+ device_destroy (fw_attr_class , MKDEV (0 , 0 ));
607
605
608
606
err_unregister_class :
609
- class_unregister ( & firmware_attributes_class );
607
+ fw_attributes_class_put ( );
610
608
611
609
err_exit_bios_attr_pass_interface :
612
610
exit_bios_attr_pass_interface ();
@@ -620,8 +618,8 @@ static int __init sysman_init(void)
620
618
static void __exit sysman_exit (void )
621
619
{
622
620
release_attributes_data ();
623
- device_destroy (& firmware_attributes_class , MKDEV (0 , 0 ));
624
- class_unregister ( & firmware_attributes_class );
621
+ device_destroy (fw_attr_class , MKDEV (0 , 0 ));
622
+ fw_attributes_class_put ( );
625
623
exit_bios_attr_set_interface ();
626
624
exit_bios_attr_pass_interface ();
627
625
}
0 commit comments