On Thu, Apr 20, 2017 at 5:25 AM, Darren Hart <dvhart@xxxxxxxxxxxxx> wrote: > From: "Darren Hart (VMware)" <dvhart@xxxxxxxxxxxxx> > > Cleanup the hp_wmi_perform_query function some by providing a bios_args > initializer. No functional changes. Is it going to be used only once? If so, I would go with current code. > > Signed-off-by: Darren Hart (VMware) <dvhart@xxxxxxxxxxxxx> > --- > drivers/platform/x86/hp-wmi.c | 21 +++++++++++---------- > 1 file changed, 11 insertions(+), 10 deletions(-) > > diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c > index e772105..aa9d99c 100644 > --- a/drivers/platform/x86/hp-wmi.c > +++ b/drivers/platform/x86/hp-wmi.c > @@ -93,6 +93,13 @@ struct bios_args { > u32 data; > }; > > +#define BIOS_ARGS_INIT(write, ctype, size) \ > + (struct bios_args) { .signature = 0x55434553, \ > + .command = (write) ? 0x2 : 0x1, \ > + .commandtype = (ctype), \ > + .datasize = (size), \ > + .data = 0 } > + > struct bios_return { > u32 sigpass; > u32 return_code; > @@ -190,18 +197,12 @@ static struct rfkill2_device rfkill2[HPWMI_MAX_RFKILL2_DEVICES]; > static int hp_wmi_perform_query(int query, int write, void *buffer, > int insize, int outsize) > { > - struct bios_return *bios_return; > - int actual_outsize; > - union acpi_object *obj; > - struct bios_args args = { > - .signature = 0x55434553, > - .command = write ? 0x2 : 0x1, > - .commandtype = query, > - .datasize = insize, > - .data = 0, > - }; > + struct bios_args args = BIOS_ARGS_INIT(write, query, insize); > struct acpi_buffer input = { sizeof(struct bios_args), &args }; > struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; > + struct bios_return *bios_return; > + union acpi_object *obj; > + int actual_outsize; > u32 rc; > > if (WARN_ON(insize > sizeof(args.data))) > -- > 2.9.3 > -- With Best Regards, Andy Shevchenko