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 >