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

From: Jorge Lopez
Date: Wed May 03 2023 - 17:17:08 EST


On Sun, Apr 23, 2023 at 7:58 AM Thomas Weißschuh <thomas@xxxxxxxx> wrote:
>
> 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.

I will remove the subdriver.

>
> > + 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
> >