Re: [PATCH v2 2/3] platform/x86: dell-wmi-sysman: Use firmware_attributes_class helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 5/9/21 3:57 AM, Mark Pearson wrote:
> Update Dell WMI sysman driver to use newly implemented helper module.
> 
> Signed-off-by: Mark Pearson <markpearson@xxxxxxxxxx>

Thanks, patch looks good to me:

Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>

(note this will need to be adjusted for the function renames in patch 1/3
 but that is trivial, so feel free to keep my Reviewed-by after those changes).

Regards,

Hans

> ---
> Changes in v2:
>  - firmare_attributes_class.c added as reqested during review of the
>    proposed think_lmi.c driver. Labeling as V2 to keep series
>    consistent (hope that's correct).
>  - Note, compile tested only due to lack of HW to test on. Matching
>    changes were made in the think-lmi.c driver and worked. Please let me
>    know if any problems!
> 
>  drivers/platform/x86/dell/Kconfig              |  1 +
>  .../platform/x86/dell/dell-wmi-sysman/sysman.c | 18 ++++++++----------
>  2 files changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/platform/x86/dell/Kconfig b/drivers/platform/x86/dell/Kconfig
> index e0a55337f..931f616ff 100644
> --- a/drivers/platform/x86/dell/Kconfig
> +++ b/drivers/platform/x86/dell/Kconfig
> @@ -197,6 +197,7 @@ config DELL_WMI_SYSMAN
>  	depends on ACPI_WMI
>  	depends on DMI
>  	select NLS
> +	select FW_ATTR_CLASS
>  	help
>  	  This driver allows changing BIOS settings on many Dell machines from
>  	  2018 and newer without the use of any additional software.
> diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> index c8d276d78..91ecf49ab 100644
> --- a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> +++ b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> @@ -13,14 +13,11 @@
>  #include <linux/kernel.h>
>  #include <linux/wmi.h>
>  #include "dell-wmi-sysman.h"
> +#include "../../firmware_attributes_class.h"
>  
>  #define MAX_TYPES  4
>  #include <linux/nls.h>
>  
> -static struct class firmware_attributes_class = {
> -	.name = "firmware-attributes",
> -};
> -
>  struct wmi_sysman_priv wmi_priv = {
>  	.mutex = __MUTEX_INITIALIZER(wmi_priv.mutex),
>  };
> @@ -28,6 +25,7 @@ struct wmi_sysman_priv wmi_priv = {
>  /* reset bios to defaults */
>  static const char * const reset_types[] = {"builtinsafe", "lastknowngood", "factory", "custom"};
>  static int reset_option = -1;
> +struct class *fw_attr_class;
>  
>  
>  /**
> @@ -541,11 +539,11 @@ static int __init sysman_init(void)
>  		goto err_exit_bios_attr_pass_interface;
>  	}
>  
> -	ret = class_register(&firmware_attributes_class);
> +	ret = fw_attributes_class_register(&fw_attr_class);
>  	if (ret)
>  		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);
>  	if (IS_ERR(wmi_priv.class_dev)) {
>  		ret = PTR_ERR(wmi_priv.class_dev);
> @@ -602,10 +600,10 @@ static int __init sysman_init(void)
>  	release_attributes_data();
>  
>  err_destroy_classdev:
> -	device_destroy(&firmware_attributes_class, MKDEV(0, 0));
> +	device_destroy(fw_attr_class, MKDEV(0, 0));
>  
>  err_unregister_class:
> -	class_unregister(&firmware_attributes_class);
> +	fw_attributes_class_remove();
>  
>  err_exit_bios_attr_pass_interface:
>  	exit_bios_attr_pass_interface();
> @@ -619,8 +617,8 @@ static int __init sysman_init(void)
>  static void __exit sysman_exit(void)
>  {
>  	release_attributes_data();
> -	device_destroy(&firmware_attributes_class, MKDEV(0, 0));
> -	class_unregister(&firmware_attributes_class);
> +	device_destroy(fw_attr_class, MKDEV(0, 0));
> +	fw_attributes_class_remove();
>  	exit_bios_attr_set_interface();
>  	exit_bios_attr_pass_interface();
>  }
> 




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux