Commit 8a1c379c authored by Mark Pearson's avatar Mark Pearson Committed by Hans de Goede

platform/x86: dell-wmi-sysman: Use firmware_attributes_class helper

Update Dell WMI sysman driver to use newly implemented helper module.
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMark Pearson <markpearson@lenovo.com>
Link: https://lore.kernel.org/r/20210530223111.25929-2-markpearson@lenovo.comSigned-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 17b707fe
...@@ -206,6 +206,7 @@ config DELL_WMI_SYSMAN ...@@ -206,6 +206,7 @@ config DELL_WMI_SYSMAN
depends on ACPI_WMI depends on ACPI_WMI
depends on DMI depends on DMI
select NLS select NLS
select FW_ATTR_CLASS
help help
This driver allows changing BIOS settings on many Dell machines from This driver allows changing BIOS settings on many Dell machines from
2018 and newer without the use of any additional software. 2018 and newer without the use of any additional software.
......
...@@ -13,14 +13,11 @@ ...@@ -13,14 +13,11 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/wmi.h> #include <linux/wmi.h>
#include "dell-wmi-sysman.h" #include "dell-wmi-sysman.h"
#include "../../firmware_attributes_class.h"
#define MAX_TYPES 4 #define MAX_TYPES 4
#include <linux/nls.h> #include <linux/nls.h>
static struct class firmware_attributes_class = {
.name = "firmware-attributes",
};
struct wmi_sysman_priv wmi_priv = { struct wmi_sysman_priv wmi_priv = {
.mutex = __MUTEX_INITIALIZER(wmi_priv.mutex), .mutex = __MUTEX_INITIALIZER(wmi_priv.mutex),
}; };
...@@ -28,6 +25,7 @@ struct wmi_sysman_priv wmi_priv = { ...@@ -28,6 +25,7 @@ struct wmi_sysman_priv wmi_priv = {
/* reset bios to defaults */ /* reset bios to defaults */
static const char * const reset_types[] = {"builtinsafe", "lastknowngood", "factory", "custom"}; static const char * const reset_types[] = {"builtinsafe", "lastknowngood", "factory", "custom"};
static int reset_option = -1; static int reset_option = -1;
struct class *fw_attr_class;
/** /**
...@@ -542,11 +540,11 @@ static int __init sysman_init(void) ...@@ -542,11 +540,11 @@ static int __init sysman_init(void)
goto err_exit_bios_attr_pass_interface; goto err_exit_bios_attr_pass_interface;
} }
ret = class_register(&firmware_attributes_class); ret = fw_attributes_class_get(&fw_attr_class);
if (ret) if (ret)
goto err_exit_bios_attr_pass_interface; goto err_exit_bios_attr_pass_interface;
wmi_priv.class_dev = device_create(&firmware_attributes_class, NULL, MKDEV(0, 0), wmi_priv.class_dev = device_create(fw_attr_class, NULL, MKDEV(0, 0),
NULL, "%s", DRIVER_NAME); NULL, "%s", DRIVER_NAME);
if (IS_ERR(wmi_priv.class_dev)) { if (IS_ERR(wmi_priv.class_dev)) {
ret = PTR_ERR(wmi_priv.class_dev); ret = PTR_ERR(wmi_priv.class_dev);
...@@ -603,10 +601,10 @@ static int __init sysman_init(void) ...@@ -603,10 +601,10 @@ static int __init sysman_init(void)
release_attributes_data(); release_attributes_data();
err_destroy_classdev: err_destroy_classdev:
device_destroy(&firmware_attributes_class, MKDEV(0, 0)); device_destroy(fw_attr_class, MKDEV(0, 0));
err_unregister_class: err_unregister_class:
class_unregister(&firmware_attributes_class); fw_attributes_class_put();
err_exit_bios_attr_pass_interface: err_exit_bios_attr_pass_interface:
exit_bios_attr_pass_interface(); exit_bios_attr_pass_interface();
...@@ -620,8 +618,8 @@ static int __init sysman_init(void) ...@@ -620,8 +618,8 @@ static int __init sysman_init(void)
static void __exit sysman_exit(void) static void __exit sysman_exit(void)
{ {
release_attributes_data(); release_attributes_data();
device_destroy(&firmware_attributes_class, MKDEV(0, 0)); device_destroy(fw_attr_class, MKDEV(0, 0));
class_unregister(&firmware_attributes_class); fw_attributes_class_put();
exit_bios_attr_set_interface(); exit_bios_attr_set_interface();
exit_bios_attr_pass_interface(); exit_bios_attr_pass_interface();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment