Re: [PATCH v11 10/14] HP BIOSCFG driver - passwdattr-interface

From: Thomas Weißschuh
Date: Sun Apr 23 2023 - 08:58:29 EST


On 2023-04-20 11:54:50-0500, Jorge Lopez wrote:
> ---
> .../x86/hp/hp-bioscfg/passwdattr-interface.c | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 drivers/platform/x86/hp/hp-bioscfg/passwdattr-interface.c
>
> diff --git a/drivers/platform/x86/hp/hp-bioscfg/passwdattr-interface.c b/drivers/platform/x86/hp/hp-bioscfg/passwdattr-interface.c
> new file mode 100644
> index 000000000000..02fc766eb3cf
> --- /dev/null
> +++ b/drivers/platform/x86/hp/hp-bioscfg/passwdattr-interface.c
> @@ -0,0 +1,51 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Functions corresponding to SET password methods under
> + * HP_WMI_SET_BIOS_SETTING_GUID for use with hp-bioscfg driver.
> + *
> + * Copyright (c) 2022 Hewlett-Packard Inc.
> + */
> +
> +#include <linux/wmi.h>
> +#include "bioscfg.h"
> +
> +static int bios_attr_pass_interface_probe(struct wmi_device *wdev,
> + const void *context)
> +{
> + mutex_lock(&bioscfg_drv.mutex);
> + bioscfg_drv.password_attr_wdev = wdev;

This wdev is never used. It seems this full subdriver can be dropped.
Or the one UUID-based callsite using the same UUID can use the driver.

> + mutex_unlock(&bioscfg_drv.mutex);
> + return 0;
> +}
> +
> +static void bios_attr_pass_interface_remove(struct wmi_device *wdev)
> +{
> + mutex_lock(&bioscfg_drv.mutex);
> + bioscfg_drv.password_attr_wdev = NULL;
> + mutex_unlock(&bioscfg_drv.mutex);
> +}
> +
> +static const struct wmi_device_id bios_attr_pass_interface_id_table[] = {
> + { .guid_string = HP_WMI_SET_BIOS_SETTING_GUID },
> + { },

No comma after end-of-array marker.

> +};
> +static struct wmi_driver bios_attr_pass_interface_driver = {
> + .driver = {
> + .name = DRIVER_NAME"-password"
> + },
> + .probe = bios_attr_pass_interface_probe,
> + .remove = bios_attr_pass_interface_remove,
> + .id_table = bios_attr_pass_interface_id_table,
> +};
> +
> +int init_bios_attr_pass_interface(void)
> +{
> + return wmi_driver_register(&bios_attr_pass_interface_driver);
> +}
> +
> +void exit_bios_attr_pass_interface(void)
> +{
> + wmi_driver_unregister(&bios_attr_pass_interface_driver);
> +}
> +
> +MODULE_DEVICE_TABLE(wmi, bios_attr_pass_interface_id_table);
> --
> 2.34.1
>